diff options
78 files changed, 20065 insertions, 3407 deletions
diff --git a/gs/jpeg/Makefile.am b/gs/jpeg/Makefile.am index 42cff57f7..86895a1e9 100644 --- a/gs/jpeg/Makefile.am +++ b/gs/jpeg/Makefile.am | |||
@@ -51,11 +51,11 @@ CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | |||
51 | jconfig.vms | 51 | jconfig.vms |
52 | 52 | ||
53 | # Support scripts for configure | 53 | # Support scripts for configure |
54 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 54 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
55 | missing ar-lib | ||
55 | 56 | ||
56 | # Miscellaneous support files | 57 | # Miscellaneous support files |
57 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 58 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
58 | libjpeg.map | ||
59 | 59 | ||
60 | # Test support files | 60 | # Test support files |
61 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 61 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
diff --git a/gs/jpeg/Makefile.in b/gs/jpeg/Makefile.in index 5bda1fb60..5654c7857 100644 --- a/gs/jpeg/Makefile.in +++ b/gs/jpeg/Makefile.in | |||
@@ -1,9 +1,8 @@ | |||
1 | # Makefile.in generated by automake 1.11.2 from Makefile.am. | 1 | # Makefile.in generated by automake 1.14.1 from Makefile.am. |
2 | # @configure_input@ | 2 | # @configure_input@ |
3 | 3 | ||
4 | # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | 4 | # Copyright (C) 1994-2013 Free Software Foundation, Inc. |
5 | # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software | 5 | |
6 | # Foundation, Inc. | ||
7 | # This Makefile.in is free software; the Free Software Foundation | 6 | # This Makefile.in is free software; the Free Software Foundation |
8 | # gives unlimited permission to copy and/or distribute it, | 7 | # gives unlimited permission to copy and/or distribute it, |
9 | # with or without modifications, as long as this notice is preserved. | 8 | # with or without modifications, as long as this notice is preserved. |
@@ -24,6 +23,51 @@ | |||
24 | 23 | ||
25 | 24 | ||
26 | VPATH = @srcdir@ | 25 | VPATH = @srcdir@ |
26 | am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' | ||
27 | am__make_running_with_option = \ | ||
28 | case $${target_option-} in \ | ||
29 | ?) ;; \ | ||
30 | *) echo "am__make_running_with_option: internal error: invalid" \ | ||
31 | "target option '$${target_option-}' specified" >&2; \ | ||
32 | exit 1;; \ | ||
33 | esac; \ | ||
34 | has_opt=no; \ | ||
35 | sane_makeflags=$$MAKEFLAGS; \ | ||
36 | if $(am__is_gnu_make); then \ | ||
37 | sane_makeflags=$$MFLAGS; \ | ||
38 | else \ | ||
39 | case $$MAKEFLAGS in \ | ||
40 | *\\[\ \ ]*) \ | ||
41 | bs=\\; \ | ||
42 | sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | ||
43 | | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ | ||
44 | esac; \ | ||
45 | fi; \ | ||
46 | skip_next=no; \ | ||
47 | strip_trailopt () \ | ||
48 | { \ | ||
49 | flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ | ||
50 | }; \ | ||
51 | for flg in $$sane_makeflags; do \ | ||
52 | test $$skip_next = yes && { skip_next=no; continue; }; \ | ||
53 | case $$flg in \ | ||
54 | *=*|--*) continue;; \ | ||
55 | -*I) strip_trailopt 'I'; skip_next=yes;; \ | ||
56 | -*I?*) strip_trailopt 'I';; \ | ||
57 | -*O) strip_trailopt 'O'; skip_next=yes;; \ | ||
58 | -*O?*) strip_trailopt 'O';; \ | ||
59 | -*l) strip_trailopt 'l'; skip_next=yes;; \ | ||
60 | -*l?*) strip_trailopt 'l';; \ | ||
61 | -[dEDm]) skip_next=yes;; \ | ||
62 | -[JT]) skip_next=yes;; \ | ||
63 | esac; \ | ||
64 | case $$flg in \ | ||
65 | *$$target_option*) has_opt=yes; break;; \ | ||
66 | esac; \ | ||
67 | done; \ | ||
68 | test $$has_opt = yes | ||
69 | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | ||
70 | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | ||
27 | pkgdatadir = $(datadir)/@PACKAGE@ | 71 | pkgdatadir = $(datadir)/@PACKAGE@ |
28 | pkgincludedir = $(includedir)/@PACKAGE@ | 72 | pkgincludedir = $(includedir)/@PACKAGE@ |
29 | pkglibdir = $(libdir)/@PACKAGE@ | 73 | pkglibdir = $(libdir)/@PACKAGE@ |
@@ -43,15 +87,14 @@ POST_UNINSTALL = : | |||
43 | build_triplet = @build@ | 87 | build_triplet = @build@ |
44 | host_triplet = @host@ | 88 | host_triplet = @host@ |
45 | target_triplet = @target@ | 89 | target_triplet = @target@ |
46 | ANSI2KNR = @ANSI2KNR@ | ||
47 | @HAVE_LD_VERSION_SCRIPT_TRUE@am__append_1 = -Wl,--version-script=$(srcdir)/libjpeg.map | 90 | @HAVE_LD_VERSION_SCRIPT_TRUE@am__append_1 = -Wl,--version-script=$(srcdir)/libjpeg.map |
48 | bin_PROGRAMS = cjpeg$(EXEEXT) djpeg$(EXEEXT) jpegtran$(EXEEXT) \ | 91 | bin_PROGRAMS = cjpeg$(EXEEXT) djpeg$(EXEEXT) jpegtran$(EXEEXT) \ |
49 | rdjpgcom$(EXEEXT) wrjpgcom$(EXEEXT) | 92 | rdjpgcom$(EXEEXT) wrjpgcom$(EXEEXT) |
50 | subdir = . | 93 | subdir = . |
51 | DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ | 94 | DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ |
52 | $(top_srcdir)/configure $(am__configure_deps) \ | 95 | $(top_srcdir)/configure $(am__configure_deps) \ |
53 | $(srcdir)/jconfig.cfg ansi2knr.c ansi2knr.1 depcomp \ | 96 | $(srcdir)/jconfig.cfg depcomp $(include_HEADERS) \ |
54 | $(include_HEADERS) $(noinst_HEADERS) | 97 | $(noinst_HEADERS) |
55 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 98 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
56 | am__aclocal_m4_deps = $(top_srcdir)/configure.ac | 99 | am__aclocal_m4_deps = $(top_srcdir)/configure.ac |
57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 100 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
@@ -93,47 +136,58 @@ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ | |||
93 | "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(includedir)" | 136 | "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(includedir)" |
94 | LTLIBRARIES = $(lib_LTLIBRARIES) | 137 | LTLIBRARIES = $(lib_LTLIBRARIES) |
95 | libjpeg_la_LIBADD = | 138 | libjpeg_la_LIBADD = |
96 | am__objects_1 = jaricom$U.lo jcapimin$U.lo jcapistd$U.lo jcarith$U.lo \ | 139 | am__objects_1 = jaricom.lo jcapimin.lo jcapistd.lo jcarith.lo \ |
97 | jccoefct$U.lo jccolor$U.lo jcdctmgr$U.lo jchuff$U.lo \ | 140 | jccoefct.lo jccolor.lo jcdctmgr.lo jchuff.lo jcinit.lo \ |
98 | jcinit$U.lo jcmainct$U.lo jcmarker$U.lo jcmaster$U.lo \ | 141 | jcmainct.lo jcmarker.lo jcmaster.lo jcomapi.lo jcparam.lo \ |
99 | jcomapi$U.lo jcparam$U.lo jcprepct$U.lo jcsample$U.lo \ | 142 | jcprepct.lo jcsample.lo jctrans.lo jdapimin.lo jdapistd.lo \ |
100 | jctrans$U.lo jdapimin$U.lo jdapistd$U.lo jdarith$U.lo \ | 143 | jdarith.lo jdatadst.lo jdatasrc.lo jdcoefct.lo jdcolor.lo \ |
101 | jdatadst$U.lo jdatasrc$U.lo jdcoefct$U.lo jdcolor$U.lo \ | 144 | jddctmgr.lo jdhuff.lo jdinput.lo jdmainct.lo jdmarker.lo \ |
102 | jddctmgr$U.lo jdhuff$U.lo jdinput$U.lo jdmainct$U.lo \ | 145 | jdmaster.lo jdmerge.lo jdpostct.lo jdsample.lo jdtrans.lo \ |
103 | jdmarker$U.lo jdmaster$U.lo jdmerge$U.lo jdpostct$U.lo \ | 146 | jerror.lo jfdctflt.lo jfdctfst.lo jfdctint.lo jidctflt.lo \ |
104 | jdsample$U.lo jdtrans$U.lo jerror$U.lo jfdctflt$U.lo \ | 147 | jidctfst.lo jidctint.lo jquant1.lo jquant2.lo jutils.lo \ |
105 | jfdctfst$U.lo jfdctint$U.lo jidctflt$U.lo jidctfst$U.lo \ | 148 | jmemmgr.lo @MEMORYMGR@.lo |
106 | jidctint$U.lo jquant1$U.lo jquant2$U.lo jutils$U.lo \ | ||
107 | jmemmgr$U.lo @MEMORYMGR@$U.lo | ||
108 | am_libjpeg_la_OBJECTS = $(am__objects_1) | 149 | am_libjpeg_la_OBJECTS = $(am__objects_1) |
109 | libjpeg_la_OBJECTS = $(am_libjpeg_la_OBJECTS) | 150 | libjpeg_la_OBJECTS = $(am_libjpeg_la_OBJECTS) |
110 | AM_V_lt = $(am__v_lt_$(V)) | 151 | AM_V_lt = $(am__v_lt_@AM_V@) |
111 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) | 152 | am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) |
112 | am__v_lt_0 = --silent | 153 | am__v_lt_0 = --silent |
154 | am__v_lt_1 = | ||
113 | libjpeg_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ | 155 | libjpeg_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ |
114 | $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | 156 | $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ |
115 | $(libjpeg_la_LDFLAGS) $(LDFLAGS) -o $@ | 157 | $(libjpeg_la_LDFLAGS) $(LDFLAGS) -o $@ |
116 | PROGRAMS = $(bin_PROGRAMS) | 158 | PROGRAMS = $(bin_PROGRAMS) |
117 | am_cjpeg_OBJECTS = cjpeg$U.$(OBJEXT) rdppm$U.$(OBJEXT) \ | 159 | am_cjpeg_OBJECTS = cjpeg.$(OBJEXT) rdppm.$(OBJEXT) rdgif.$(OBJEXT) \ |
118 | rdgif$U.$(OBJEXT) rdtarga$U.$(OBJEXT) rdrle$U.$(OBJEXT) \ | 160 | rdtarga.$(OBJEXT) rdrle.$(OBJEXT) rdbmp.$(OBJEXT) \ |
119 | rdbmp$U.$(OBJEXT) rdswitch$U.$(OBJEXT) cdjpeg$U.$(OBJEXT) | 161 | rdswitch.$(OBJEXT) cdjpeg.$(OBJEXT) |
120 | cjpeg_OBJECTS = $(am_cjpeg_OBJECTS) | 162 | cjpeg_OBJECTS = $(am_cjpeg_OBJECTS) |
121 | cjpeg_DEPENDENCIES = libjpeg.la | 163 | cjpeg_DEPENDENCIES = libjpeg.la |
122 | am_djpeg_OBJECTS = djpeg$U.$(OBJEXT) wrppm$U.$(OBJEXT) \ | 164 | am_djpeg_OBJECTS = djpeg.$(OBJEXT) wrppm.$(OBJEXT) wrgif.$(OBJEXT) \ |
123 | wrgif$U.$(OBJEXT) wrtarga$U.$(OBJEXT) wrrle$U.$(OBJEXT) \ | 165 | wrtarga.$(OBJEXT) wrrle.$(OBJEXT) wrbmp.$(OBJEXT) \ |
124 | wrbmp$U.$(OBJEXT) rdcolmap$U.$(OBJEXT) cdjpeg$U.$(OBJEXT) | 166 | rdcolmap.$(OBJEXT) cdjpeg.$(OBJEXT) |
125 | djpeg_OBJECTS = $(am_djpeg_OBJECTS) | 167 | djpeg_OBJECTS = $(am_djpeg_OBJECTS) |
126 | djpeg_DEPENDENCIES = libjpeg.la | 168 | djpeg_DEPENDENCIES = libjpeg.la |
127 | am_jpegtran_OBJECTS = jpegtran$U.$(OBJEXT) rdswitch$U.$(OBJEXT) \ | 169 | am_jpegtran_OBJECTS = jpegtran.$(OBJEXT) rdswitch.$(OBJEXT) \ |
128 | cdjpeg$U.$(OBJEXT) transupp$U.$(OBJEXT) | 170 | cdjpeg.$(OBJEXT) transupp.$(OBJEXT) |
129 | jpegtran_OBJECTS = $(am_jpegtran_OBJECTS) | 171 | jpegtran_OBJECTS = $(am_jpegtran_OBJECTS) |
130 | jpegtran_DEPENDENCIES = libjpeg.la | 172 | jpegtran_DEPENDENCIES = libjpeg.la |
131 | am_rdjpgcom_OBJECTS = rdjpgcom$U.$(OBJEXT) | 173 | am_rdjpgcom_OBJECTS = rdjpgcom.$(OBJEXT) |
132 | rdjpgcom_OBJECTS = $(am_rdjpgcom_OBJECTS) | 174 | rdjpgcom_OBJECTS = $(am_rdjpgcom_OBJECTS) |
133 | rdjpgcom_LDADD = $(LDADD) | 175 | rdjpgcom_LDADD = $(LDADD) |
134 | am_wrjpgcom_OBJECTS = wrjpgcom$U.$(OBJEXT) | 176 | am_wrjpgcom_OBJECTS = wrjpgcom.$(OBJEXT) |
135 | wrjpgcom_OBJECTS = $(am_wrjpgcom_OBJECTS) | 177 | wrjpgcom_OBJECTS = $(am_wrjpgcom_OBJECTS) |
136 | wrjpgcom_LDADD = $(LDADD) | 178 | wrjpgcom_LDADD = $(LDADD) |
179 | AM_V_P = $(am__v_P_@AM_V@) | ||
180 | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) | ||
181 | am__v_P_0 = false | ||
182 | am__v_P_1 = : | ||
183 | AM_V_GEN = $(am__v_GEN_@AM_V@) | ||
184 | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) | ||
185 | am__v_GEN_0 = @echo " GEN " $@; | ||
186 | am__v_GEN_1 = | ||
187 | AM_V_at = $(am__v_at_@AM_V@) | ||
188 | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) | ||
189 | am__v_at_0 = @ | ||
190 | am__v_at_1 = | ||
137 | DEFAULT_INCLUDES = -I.@am__isrc@ | 191 | DEFAULT_INCLUDES = -I.@am__isrc@ |
138 | depcomp = $(SHELL) $(top_srcdir)/depcomp | 192 | depcomp = $(SHELL) $(top_srcdir)/depcomp |
139 | am__depfiles_maybe = depfiles | 193 | am__depfiles_maybe = depfiles |
@@ -144,30 +198,51 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ | |||
144 | $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ | 198 | $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ |
145 | $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ | 199 | $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ |
146 | $(AM_CFLAGS) $(CFLAGS) | 200 | $(AM_CFLAGS) $(CFLAGS) |
147 | AM_V_CC = $(am__v_CC_$(V)) | 201 | AM_V_CC = $(am__v_CC_@AM_V@) |
148 | am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) | 202 | am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) |
149 | am__v_CC_0 = @echo " CC " $@; | 203 | am__v_CC_0 = @echo " CC " $@; |
150 | AM_V_at = $(am__v_at_$(V)) | 204 | am__v_CC_1 = |
151 | am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) | ||
152 | am__v_at_0 = @ | ||
153 | CCLD = $(CC) | 205 | CCLD = $(CC) |
154 | LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ | 206 | LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ |
155 | $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | 207 | $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ |
156 | $(AM_LDFLAGS) $(LDFLAGS) -o $@ | 208 | $(AM_LDFLAGS) $(LDFLAGS) -o $@ |
157 | AM_V_CCLD = $(am__v_CCLD_$(V)) | 209 | AM_V_CCLD = $(am__v_CCLD_@AM_V@) |
158 | am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) | 210 | am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) |
159 | am__v_CCLD_0 = @echo " CCLD " $@; | 211 | am__v_CCLD_0 = @echo " CCLD " $@; |
160 | AM_V_GEN = $(am__v_GEN_$(V)) | 212 | am__v_CCLD_1 = |
161 | am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) | ||
162 | am__v_GEN_0 = @echo " GEN " $@; | ||
163 | SOURCES = $(libjpeg_la_SOURCES) $(cjpeg_SOURCES) $(djpeg_SOURCES) \ | 213 | SOURCES = $(libjpeg_la_SOURCES) $(cjpeg_SOURCES) $(djpeg_SOURCES) \ |
164 | $(jpegtran_SOURCES) $(rdjpgcom_SOURCES) $(wrjpgcom_SOURCES) | 214 | $(jpegtran_SOURCES) $(rdjpgcom_SOURCES) $(wrjpgcom_SOURCES) |
215 | am__can_run_installinfo = \ | ||
216 | case $$AM_UPDATE_INFO_DIR in \ | ||
217 | n|no|NO) false;; \ | ||
218 | *) (install-info --version) >/dev/null 2>&1;; \ | ||
219 | esac | ||
165 | man1dir = $(mandir)/man1 | 220 | man1dir = $(mandir)/man1 |
166 | NROFF = nroff | 221 | NROFF = nroff |
167 | MANS = $(man_MANS) | 222 | MANS = $(man_MANS) |
168 | HEADERS = $(include_HEADERS) $(noinst_HEADERS) | 223 | HEADERS = $(include_HEADERS) $(noinst_HEADERS) |
224 | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ | ||
225 | $(LISP)jconfig.cfg | ||
226 | # Read a list of newline-separated strings from the standard input, | ||
227 | # and print each of them once, without duplicates. Input order is | ||
228 | # *not* preserved. | ||
229 | am__uniquify_input = $(AWK) '\ | ||
230 | BEGIN { nonempty = 0; } \ | ||
231 | { items[$$0] = 1; nonempty = 1; } \ | ||
232 | END { if (nonempty) { for (i in items) print i; }; } \ | ||
233 | ' | ||
234 | # Make sure the list of sources is unique. This is necessary because, | ||
235 | # e.g., the same source file might be shared among _SOURCES variables | ||
236 | # for different programs/libraries. | ||
237 | am__define_uniq_tagged_files = \ | ||
238 | list='$(am__tagged_files)'; \ | ||
239 | unique=`for i in $$list; do \ | ||
240 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||
241 | done | $(am__uniquify_input)` | ||
169 | ETAGS = etags | 242 | ETAGS = etags |
170 | CTAGS = ctags | 243 | CTAGS = ctags |
244 | CSCOPE = cscope | ||
245 | AM_RECURSIVE_TARGETS = cscope | ||
171 | ACLOCAL = @ACLOCAL@ | 246 | ACLOCAL = @ACLOCAL@ |
172 | AMTAR = @AMTAR@ | 247 | AMTAR = @AMTAR@ |
173 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ | 248 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ |
@@ -233,7 +308,6 @@ SED = @SED@ | |||
233 | SET_MAKE = @SET_MAKE@ | 308 | SET_MAKE = @SET_MAKE@ |
234 | SHELL = @SHELL@ | 309 | SHELL = @SHELL@ |
235 | STRIP = @STRIP@ | 310 | STRIP = @STRIP@ |
236 | U = @U@ | ||
237 | VERSION = @VERSION@ | 311 | VERSION = @VERSION@ |
238 | abs_builddir = @abs_builddir@ | 312 | abs_builddir = @abs_builddir@ |
239 | abs_srcdir = @abs_srcdir@ | 313 | abs_srcdir = @abs_srcdir@ |
@@ -343,12 +417,12 @@ CONFIGFILES = jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | |||
343 | 417 | ||
344 | 418 | ||
345 | # Support scripts for configure | 419 | # Support scripts for configure |
346 | CONFIGUREFILES = config.guess config.sub install-sh ltmain.sh depcomp missing | 420 | CONFIGUREFILES = config.guess config.sub install-sh ltmain.sh depcomp \ |
421 | missing ar-lib | ||
347 | 422 | ||
348 | # Miscellaneous support files | ||
349 | OTHERFILES = jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | ||
350 | libjpeg.map | ||
351 | 423 | ||
424 | # Miscellaneous support files | ||
425 | OTHERFILES = jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map | ||
352 | 426 | ||
353 | # Test support files | 427 | # Test support files |
354 | TESTFILES = testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 428 | TESTFILES = testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
@@ -438,8 +512,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) | |||
438 | $(am__aclocal_m4_deps): | 512 | $(am__aclocal_m4_deps): |
439 | 513 | ||
440 | jconfig.h: stamp-h1 | 514 | jconfig.h: stamp-h1 |
441 | @if test ! -f $@; then rm -f stamp-h1; else :; fi | 515 | @test -f $@ || rm -f stamp-h1 |
442 | @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi | 516 | @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 |
443 | 517 | ||
444 | stamp-h1: $(srcdir)/jconfig.cfg $(top_builddir)/config.status | 518 | stamp-h1: $(srcdir)/jconfig.cfg $(top_builddir)/config.status |
445 | @rm -f stamp-h1 | 519 | @rm -f stamp-h1 |
@@ -451,9 +525,9 @@ $(srcdir)/jconfig.cfg: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) | |||
451 | 525 | ||
452 | distclean-hdr: | 526 | distclean-hdr: |
453 | -rm -f jconfig.h stamp-h1 | 527 | -rm -f jconfig.h stamp-h1 |
528 | |||
454 | install-libLTLIBRARIES: $(lib_LTLIBRARIES) | 529 | install-libLTLIBRARIES: $(lib_LTLIBRARIES) |
455 | @$(NORMAL_INSTALL) | 530 | @$(NORMAL_INSTALL) |
456 | test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" | ||
457 | @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ | 531 | @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ |
458 | list2=; for p in $$list; do \ | 532 | list2=; for p in $$list; do \ |
459 | if test -f $$p; then \ | 533 | if test -f $$p; then \ |
@@ -461,6 +535,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) | |||
461 | else :; fi; \ | 535 | else :; fi; \ |
462 | done; \ | 536 | done; \ |
463 | test -z "$$list2" || { \ | 537 | test -z "$$list2" || { \ |
538 | echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ | ||
539 | $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ | ||
464 | echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ | 540 | echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ |
465 | $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ | 541 | $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ |
466 | } | 542 | } |
@@ -476,24 +552,32 @@ uninstall-libLTLIBRARIES: | |||
476 | 552 | ||
477 | clean-libLTLIBRARIES: | 553 | clean-libLTLIBRARIES: |
478 | -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) | 554 | -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) |
479 | @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ | 555 | @list='$(lib_LTLIBRARIES)'; \ |
480 | dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ | 556 | locs=`for p in $$list; do echo $$p; done | \ |
481 | test "$$dir" != "$$p" || dir=.; \ | 557 | sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ |
482 | echo "rm -f \"$${dir}/so_locations\""; \ | 558 | sort -u`; \ |
483 | rm -f "$${dir}/so_locations"; \ | 559 | test -z "$$locs" || { \ |
484 | done | 560 | echo rm -f $${locs}; \ |
485 | libjpeg.la: $(libjpeg_la_OBJECTS) $(libjpeg_la_DEPENDENCIES) | 561 | rm -f $${locs}; \ |
562 | } | ||
563 | |||
564 | libjpeg.la: $(libjpeg_la_OBJECTS) $(libjpeg_la_DEPENDENCIES) $(EXTRA_libjpeg_la_DEPENDENCIES) | ||
486 | $(AM_V_CCLD)$(libjpeg_la_LINK) -rpath $(libdir) $(libjpeg_la_OBJECTS) $(libjpeg_la_LIBADD) $(LIBS) | 565 | $(AM_V_CCLD)$(libjpeg_la_LINK) -rpath $(libdir) $(libjpeg_la_OBJECTS) $(libjpeg_la_LIBADD) $(LIBS) |
487 | install-binPROGRAMS: $(bin_PROGRAMS) | 566 | install-binPROGRAMS: $(bin_PROGRAMS) |
488 | @$(NORMAL_INSTALL) | 567 | @$(NORMAL_INSTALL) |
489 | test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" | ||
490 | @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ | 568 | @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ |
569 | if test -n "$$list"; then \ | ||
570 | echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ | ||
571 | $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ | ||
572 | fi; \ | ||
491 | for p in $$list; do echo "$$p $$p"; done | \ | 573 | for p in $$list; do echo "$$p $$p"; done | \ |
492 | sed 's/$(EXEEXT)$$//' | \ | 574 | sed 's/$(EXEEXT)$$//' | \ |
493 | while read p p1; do if test -f $$p || test -f $$p1; \ | 575 | while read p p1; do if test -f $$p \ |
494 | then echo "$$p"; echo "$$p"; else :; fi; \ | 576 | || test -f $$p1 \ |
577 | ; then echo "$$p"; echo "$$p"; else :; fi; \ | ||
495 | done | \ | 578 | done | \ |
496 | sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ | 579 | sed -e 'p;s,.*/,,;n;h' \ |
580 | -e 's|.*|.|' \ | ||
497 | -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ | 581 | -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ |
498 | sed 'N;N;N;s,\n, ,g' | \ | 582 | sed 'N;N;N;s,\n, ,g' | \ |
499 | $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ | 583 | $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ |
@@ -514,7 +598,8 @@ uninstall-binPROGRAMS: | |||
514 | @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ | 598 | @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ |
515 | files=`for p in $$list; do echo "$$p"; done | \ | 599 | files=`for p in $$list; do echo "$$p"; done | \ |
516 | sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ | 600 | sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ |
517 | -e 's/$$/$(EXEEXT)/' `; \ | 601 | -e 's/$$/$(EXEEXT)/' \ |
602 | `; \ | ||
518 | test -n "$$list" || exit 0; \ | 603 | test -n "$$list" || exit 0; \ |
519 | echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ | 604 | echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ |
520 | cd "$(DESTDIR)$(bindir)" && rm -f $$files | 605 | cd "$(DESTDIR)$(bindir)" && rm -f $$files |
@@ -527,19 +612,24 @@ clean-binPROGRAMS: | |||
527 | list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ | 612 | list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ |
528 | echo " rm -f" $$list; \ | 613 | echo " rm -f" $$list; \ |
529 | rm -f $$list | 614 | rm -f $$list |
530 | cjpeg$(EXEEXT): $(cjpeg_OBJECTS) $(cjpeg_DEPENDENCIES) | 615 | |
616 | cjpeg$(EXEEXT): $(cjpeg_OBJECTS) $(cjpeg_DEPENDENCIES) $(EXTRA_cjpeg_DEPENDENCIES) | ||
531 | @rm -f cjpeg$(EXEEXT) | 617 | @rm -f cjpeg$(EXEEXT) |
532 | $(AM_V_CCLD)$(LINK) $(cjpeg_OBJECTS) $(cjpeg_LDADD) $(LIBS) | 618 | $(AM_V_CCLD)$(LINK) $(cjpeg_OBJECTS) $(cjpeg_LDADD) $(LIBS) |
533 | djpeg$(EXEEXT): $(djpeg_OBJECTS) $(djpeg_DEPENDENCIES) | 619 | |
620 | djpeg$(EXEEXT): $(djpeg_OBJECTS) $(djpeg_DEPENDENCIES) $(EXTRA_djpeg_DEPENDENCIES) | ||
534 | @rm -f djpeg$(EXEEXT) | 621 | @rm -f djpeg$(EXEEXT) |
535 | $(AM_V_CCLD)$(LINK) $(djpeg_OBJECTS) $(djpeg_LDADD) $(LIBS) | 622 | $(AM_V_CCLD)$(LINK) $(djpeg_OBJECTS) $(djpeg_LDADD) $(LIBS) |
536 | jpegtran$(EXEEXT): $(jpegtran_OBJECTS) $(jpegtran_DEPENDENCIES) | 623 | |
624 | jpegtran$(EXEEXT): $(jpegtran_OBJECTS) $(jpegtran_DEPENDENCIES) $(EXTRA_jpegtran_DEPENDENCIES) | ||
537 | @rm -f jpegtran$(EXEEXT) | 625 | @rm -f jpegtran$(EXEEXT) |
538 | $(AM_V_CCLD)$(LINK) $(jpegtran_OBJECTS) $(jpegtran_LDADD) $(LIBS) | 626 | $(AM_V_CCLD)$(LINK) $(jpegtran_OBJECTS) $(jpegtran_LDADD) $(LIBS) |
539 | rdjpgcom$(EXEEXT): $(rdjpgcom_OBJECTS) $(rdjpgcom_DEPENDENCIES) | 627 | |
628 | rdjpgcom$(EXEEXT): $(rdjpgcom_OBJECTS) $(rdjpgcom_DEPENDENCIES) $(EXTRA_rdjpgcom_DEPENDENCIES) | ||
540 | @rm -f rdjpgcom$(EXEEXT) | 629 | @rm -f rdjpgcom$(EXEEXT) |
541 | $(AM_V_CCLD)$(LINK) $(rdjpgcom_OBJECTS) $(rdjpgcom_LDADD) $(LIBS) | 630 | $(AM_V_CCLD)$(LINK) $(rdjpgcom_OBJECTS) $(rdjpgcom_LDADD) $(LIBS) |
542 | wrjpgcom$(EXEEXT): $(wrjpgcom_OBJECTS) $(wrjpgcom_DEPENDENCIES) | 631 | |
632 | wrjpgcom$(EXEEXT): $(wrjpgcom_OBJECTS) $(wrjpgcom_DEPENDENCIES) $(EXTRA_wrjpgcom_DEPENDENCIES) | ||
543 | @rm -f wrjpgcom$(EXEEXT) | 633 | @rm -f wrjpgcom$(EXEEXT) |
544 | $(AM_V_CCLD)$(LINK) $(wrjpgcom_OBJECTS) $(wrjpgcom_LDADD) $(LIBS) | 634 | $(AM_V_CCLD)$(LINK) $(wrjpgcom_OBJECTS) $(wrjpgcom_LDADD) $(LIBS) |
545 | 635 | ||
@@ -548,95 +638,86 @@ mostlyclean-compile: | |||
548 | 638 | ||
549 | distclean-compile: | 639 | distclean-compile: |
550 | -rm -f *.tab.c | 640 | -rm -f *.tab.c |
551 | ./ansi2knr: ansi2knr.$(OBJEXT) | 641 | |
552 | $(LINK) ansi2knr.$(OBJEXT) $(LIBS) | 642 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/@MEMORYMGR@.Plo@am__quote@ |
553 | ansi2knr.$(OBJEXT): $(CONFIG_HEADER) | 643 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdjpeg.Po@am__quote@ |
554 | 644 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cjpeg.Po@am__quote@ | |
555 | clean-krextra: | 645 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/djpeg.Po@am__quote@ |
556 | -rm -f ansi2knr | 646 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jaricom.Plo@am__quote@ |
557 | 647 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcapimin.Plo@am__quote@ | |
558 | mostlyclean-kr: | 648 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcapistd.Plo@am__quote@ |
559 | -test "$U" = "" || rm -f *_.c | 649 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcarith.Plo@am__quote@ |
560 | 650 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jccoefct.Plo@am__quote@ | |
561 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/@MEMORYMGR@$U.Plo@am__quote@ | 651 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jccolor.Plo@am__quote@ |
562 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdjpeg$U.Po@am__quote@ | 652 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcdctmgr.Plo@am__quote@ |
563 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cjpeg$U.Po@am__quote@ | 653 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jchuff.Plo@am__quote@ |
564 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/djpeg$U.Po@am__quote@ | 654 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcinit.Plo@am__quote@ |
565 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jaricom$U.Plo@am__quote@ | 655 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcmainct.Plo@am__quote@ |
566 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcapimin$U.Plo@am__quote@ | 656 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcmarker.Plo@am__quote@ |
567 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcapistd$U.Plo@am__quote@ | 657 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcmaster.Plo@am__quote@ |
568 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcarith$U.Plo@am__quote@ | 658 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcomapi.Plo@am__quote@ |
569 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jccoefct$U.Plo@am__quote@ | 659 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcparam.Plo@am__quote@ |
570 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jccolor$U.Plo@am__quote@ | 660 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcprepct.Plo@am__quote@ |
571 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcdctmgr$U.Plo@am__quote@ | 661 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcsample.Plo@am__quote@ |
572 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jchuff$U.Plo@am__quote@ | 662 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jctrans.Plo@am__quote@ |
573 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcinit$U.Plo@am__quote@ | 663 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdapimin.Plo@am__quote@ |
574 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcmainct$U.Plo@am__quote@ | 664 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdapistd.Plo@am__quote@ |
575 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcmarker$U.Plo@am__quote@ | 665 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdarith.Plo@am__quote@ |
576 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcmaster$U.Plo@am__quote@ | 666 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdatadst.Plo@am__quote@ |
577 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcomapi$U.Plo@am__quote@ | 667 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdatasrc.Plo@am__quote@ |
578 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcparam$U.Plo@am__quote@ | 668 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdcoefct.Plo@am__quote@ |
579 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcprepct$U.Plo@am__quote@ | 669 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdcolor.Plo@am__quote@ |
580 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jcsample$U.Plo@am__quote@ | 670 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jddctmgr.Plo@am__quote@ |
581 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jctrans$U.Plo@am__quote@ | 671 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdhuff.Plo@am__quote@ |
582 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdapimin$U.Plo@am__quote@ | 672 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdinput.Plo@am__quote@ |
583 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdapistd$U.Plo@am__quote@ | 673 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmainct.Plo@am__quote@ |
584 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdarith$U.Plo@am__quote@ | 674 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmarker.Plo@am__quote@ |
585 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdatadst$U.Plo@am__quote@ | 675 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmaster.Plo@am__quote@ |
586 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdatasrc$U.Plo@am__quote@ | 676 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmerge.Plo@am__quote@ |
587 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdcoefct$U.Plo@am__quote@ | 677 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdpostct.Plo@am__quote@ |
588 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdcolor$U.Plo@am__quote@ | 678 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdsample.Plo@am__quote@ |
589 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jddctmgr$U.Plo@am__quote@ | 679 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdtrans.Plo@am__quote@ |
590 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdhuff$U.Plo@am__quote@ | 680 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jerror.Plo@am__quote@ |
591 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdinput$U.Plo@am__quote@ | 681 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfdctflt.Plo@am__quote@ |
592 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmainct$U.Plo@am__quote@ | 682 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfdctfst.Plo@am__quote@ |
593 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmarker$U.Plo@am__quote@ | 683 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfdctint.Plo@am__quote@ |
594 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmaster$U.Plo@am__quote@ | 684 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctflt.Plo@am__quote@ |
595 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdmerge$U.Plo@am__quote@ | 685 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctfst.Plo@am__quote@ |
596 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdpostct$U.Plo@am__quote@ | 686 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctint.Plo@am__quote@ |
597 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdsample$U.Plo@am__quote@ | 687 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jmemmgr.Plo@am__quote@ |
598 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jdtrans$U.Plo@am__quote@ | 688 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpegtran.Po@am__quote@ |
599 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jerror$U.Plo@am__quote@ | 689 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant1.Plo@am__quote@ |
600 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfdctflt$U.Plo@am__quote@ | 690 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant2.Plo@am__quote@ |
601 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfdctfst$U.Plo@am__quote@ | 691 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jutils.Plo@am__quote@ |
602 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jfdctint$U.Plo@am__quote@ | 692 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdbmp.Po@am__quote@ |
603 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctflt$U.Plo@am__quote@ | 693 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdcolmap.Po@am__quote@ |
604 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctfst$U.Plo@am__quote@ | 694 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdgif.Po@am__quote@ |
605 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jidctint$U.Plo@am__quote@ | 695 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdjpgcom.Po@am__quote@ |
606 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jmemmgr$U.Plo@am__quote@ | 696 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdppm.Po@am__quote@ |
607 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jpegtran$U.Po@am__quote@ | 697 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdrle.Po@am__quote@ |
608 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant1$U.Plo@am__quote@ | 698 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdswitch.Po@am__quote@ |
609 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jquant2$U.Plo@am__quote@ | 699 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdtarga.Po@am__quote@ |
610 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jutils$U.Plo@am__quote@ | 700 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transupp.Po@am__quote@ |
611 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdbmp$U.Po@am__quote@ | 701 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrbmp.Po@am__quote@ |
612 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdcolmap$U.Po@am__quote@ | 702 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrgif.Po@am__quote@ |
613 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdgif$U.Po@am__quote@ | 703 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrjpgcom.Po@am__quote@ |
614 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdjpgcom$U.Po@am__quote@ | 704 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrppm.Po@am__quote@ |
615 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdppm$U.Po@am__quote@ | 705 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrrle.Po@am__quote@ |
616 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdrle$U.Po@am__quote@ | 706 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrtarga.Po@am__quote@ |
617 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdswitch$U.Po@am__quote@ | ||
618 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rdtarga$U.Po@am__quote@ | ||
619 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transupp$U.Po@am__quote@ | ||
620 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrbmp$U.Po@am__quote@ | ||
621 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrgif$U.Po@am__quote@ | ||
622 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrjpgcom$U.Po@am__quote@ | ||
623 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrppm$U.Po@am__quote@ | ||
624 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrrle$U.Po@am__quote@ | ||
625 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wrtarga$U.Po@am__quote@ | ||
626 | 707 | ||
627 | .c.o: | 708 | .c.o: |
628 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | 709 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< |
629 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | 710 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po |
630 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | 711 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ |
631 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | 712 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
632 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< | 713 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< |
633 | 714 | ||
634 | .c.obj: | 715 | .c.obj: |
635 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` | 716 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` |
636 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | 717 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po |
637 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | 718 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ |
638 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | 719 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
639 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` | 720 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` |
640 | 721 | ||
641 | .c.lo: | 722 | .c.lo: |
642 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | 723 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< |
@@ -644,169 +725,6 @@ mostlyclean-kr: | |||
644 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ | 725 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ |
645 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | 726 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
646 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< | 727 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< |
647 | @MEMORYMGR@_.c: @MEMORYMGR@.c $(ANSI2KNR) | ||
648 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/@MEMORYMGR@.c; then echo $(srcdir)/@MEMORYMGR@.c; else echo @MEMORYMGR@.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
649 | cdjpeg_.c: cdjpeg.c $(ANSI2KNR) | ||
650 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/cdjpeg.c; then echo $(srcdir)/cdjpeg.c; else echo cdjpeg.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
651 | cjpeg_.c: cjpeg.c $(ANSI2KNR) | ||
652 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/cjpeg.c; then echo $(srcdir)/cjpeg.c; else echo cjpeg.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
653 | djpeg_.c: djpeg.c $(ANSI2KNR) | ||
654 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/djpeg.c; then echo $(srcdir)/djpeg.c; else echo djpeg.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
655 | jaricom_.c: jaricom.c $(ANSI2KNR) | ||
656 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jaricom.c; then echo $(srcdir)/jaricom.c; else echo jaricom.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
657 | jcapimin_.c: jcapimin.c $(ANSI2KNR) | ||
658 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcapimin.c; then echo $(srcdir)/jcapimin.c; else echo jcapimin.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
659 | jcapistd_.c: jcapistd.c $(ANSI2KNR) | ||
660 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcapistd.c; then echo $(srcdir)/jcapistd.c; else echo jcapistd.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
661 | jcarith_.c: jcarith.c $(ANSI2KNR) | ||
662 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcarith.c; then echo $(srcdir)/jcarith.c; else echo jcarith.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
663 | jccoefct_.c: jccoefct.c $(ANSI2KNR) | ||
664 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jccoefct.c; then echo $(srcdir)/jccoefct.c; else echo jccoefct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
665 | jccolor_.c: jccolor.c $(ANSI2KNR) | ||
666 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jccolor.c; then echo $(srcdir)/jccolor.c; else echo jccolor.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
667 | jcdctmgr_.c: jcdctmgr.c $(ANSI2KNR) | ||
668 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcdctmgr.c; then echo $(srcdir)/jcdctmgr.c; else echo jcdctmgr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
669 | jchuff_.c: jchuff.c $(ANSI2KNR) | ||
670 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jchuff.c; then echo $(srcdir)/jchuff.c; else echo jchuff.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
671 | jcinit_.c: jcinit.c $(ANSI2KNR) | ||
672 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcinit.c; then echo $(srcdir)/jcinit.c; else echo jcinit.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
673 | jcmainct_.c: jcmainct.c $(ANSI2KNR) | ||
674 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcmainct.c; then echo $(srcdir)/jcmainct.c; else echo jcmainct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
675 | jcmarker_.c: jcmarker.c $(ANSI2KNR) | ||
676 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcmarker.c; then echo $(srcdir)/jcmarker.c; else echo jcmarker.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
677 | jcmaster_.c: jcmaster.c $(ANSI2KNR) | ||
678 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcmaster.c; then echo $(srcdir)/jcmaster.c; else echo jcmaster.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
679 | jcomapi_.c: jcomapi.c $(ANSI2KNR) | ||
680 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcomapi.c; then echo $(srcdir)/jcomapi.c; else echo jcomapi.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
681 | jcparam_.c: jcparam.c $(ANSI2KNR) | ||
682 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcparam.c; then echo $(srcdir)/jcparam.c; else echo jcparam.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
683 | jcprepct_.c: jcprepct.c $(ANSI2KNR) | ||
684 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcprepct.c; then echo $(srcdir)/jcprepct.c; else echo jcprepct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
685 | jcsample_.c: jcsample.c $(ANSI2KNR) | ||
686 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jcsample.c; then echo $(srcdir)/jcsample.c; else echo jcsample.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
687 | jctrans_.c: jctrans.c $(ANSI2KNR) | ||
688 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jctrans.c; then echo $(srcdir)/jctrans.c; else echo jctrans.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
689 | jdapimin_.c: jdapimin.c $(ANSI2KNR) | ||
690 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdapimin.c; then echo $(srcdir)/jdapimin.c; else echo jdapimin.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
691 | jdapistd_.c: jdapistd.c $(ANSI2KNR) | ||
692 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdapistd.c; then echo $(srcdir)/jdapistd.c; else echo jdapistd.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
693 | jdarith_.c: jdarith.c $(ANSI2KNR) | ||
694 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdarith.c; then echo $(srcdir)/jdarith.c; else echo jdarith.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
695 | jdatadst_.c: jdatadst.c $(ANSI2KNR) | ||
696 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdatadst.c; then echo $(srcdir)/jdatadst.c; else echo jdatadst.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
697 | jdatasrc_.c: jdatasrc.c $(ANSI2KNR) | ||
698 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdatasrc.c; then echo $(srcdir)/jdatasrc.c; else echo jdatasrc.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
699 | jdcoefct_.c: jdcoefct.c $(ANSI2KNR) | ||
700 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdcoefct.c; then echo $(srcdir)/jdcoefct.c; else echo jdcoefct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
701 | jdcolor_.c: jdcolor.c $(ANSI2KNR) | ||
702 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdcolor.c; then echo $(srcdir)/jdcolor.c; else echo jdcolor.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
703 | jddctmgr_.c: jddctmgr.c $(ANSI2KNR) | ||
704 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jddctmgr.c; then echo $(srcdir)/jddctmgr.c; else echo jddctmgr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
705 | jdhuff_.c: jdhuff.c $(ANSI2KNR) | ||
706 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdhuff.c; then echo $(srcdir)/jdhuff.c; else echo jdhuff.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
707 | jdinput_.c: jdinput.c $(ANSI2KNR) | ||
708 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdinput.c; then echo $(srcdir)/jdinput.c; else echo jdinput.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
709 | jdmainct_.c: jdmainct.c $(ANSI2KNR) | ||
710 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdmainct.c; then echo $(srcdir)/jdmainct.c; else echo jdmainct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
711 | jdmarker_.c: jdmarker.c $(ANSI2KNR) | ||
712 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdmarker.c; then echo $(srcdir)/jdmarker.c; else echo jdmarker.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
713 | jdmaster_.c: jdmaster.c $(ANSI2KNR) | ||
714 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdmaster.c; then echo $(srcdir)/jdmaster.c; else echo jdmaster.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
715 | jdmerge_.c: jdmerge.c $(ANSI2KNR) | ||
716 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdmerge.c; then echo $(srcdir)/jdmerge.c; else echo jdmerge.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
717 | jdpostct_.c: jdpostct.c $(ANSI2KNR) | ||
718 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdpostct.c; then echo $(srcdir)/jdpostct.c; else echo jdpostct.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
719 | jdsample_.c: jdsample.c $(ANSI2KNR) | ||
720 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdsample.c; then echo $(srcdir)/jdsample.c; else echo jdsample.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
721 | jdtrans_.c: jdtrans.c $(ANSI2KNR) | ||
722 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jdtrans.c; then echo $(srcdir)/jdtrans.c; else echo jdtrans.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
723 | jerror_.c: jerror.c $(ANSI2KNR) | ||
724 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jerror.c; then echo $(srcdir)/jerror.c; else echo jerror.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
725 | jfdctflt_.c: jfdctflt.c $(ANSI2KNR) | ||
726 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jfdctflt.c; then echo $(srcdir)/jfdctflt.c; else echo jfdctflt.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
727 | jfdctfst_.c: jfdctfst.c $(ANSI2KNR) | ||
728 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jfdctfst.c; then echo $(srcdir)/jfdctfst.c; else echo jfdctfst.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
729 | jfdctint_.c: jfdctint.c $(ANSI2KNR) | ||
730 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jfdctint.c; then echo $(srcdir)/jfdctint.c; else echo jfdctint.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
731 | jidctflt_.c: jidctflt.c $(ANSI2KNR) | ||
732 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jidctflt.c; then echo $(srcdir)/jidctflt.c; else echo jidctflt.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
733 | jidctfst_.c: jidctfst.c $(ANSI2KNR) | ||
734 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jidctfst.c; then echo $(srcdir)/jidctfst.c; else echo jidctfst.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
735 | jidctint_.c: jidctint.c $(ANSI2KNR) | ||
736 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jidctint.c; then echo $(srcdir)/jidctint.c; else echo jidctint.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
737 | jmemmgr_.c: jmemmgr.c $(ANSI2KNR) | ||
738 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jmemmgr.c; then echo $(srcdir)/jmemmgr.c; else echo jmemmgr.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
739 | jpegtran_.c: jpegtran.c $(ANSI2KNR) | ||
740 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jpegtran.c; then echo $(srcdir)/jpegtran.c; else echo jpegtran.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
741 | jquant1_.c: jquant1.c $(ANSI2KNR) | ||
742 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jquant1.c; then echo $(srcdir)/jquant1.c; else echo jquant1.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
743 | jquant2_.c: jquant2.c $(ANSI2KNR) | ||
744 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jquant2.c; then echo $(srcdir)/jquant2.c; else echo jquant2.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
745 | jutils_.c: jutils.c $(ANSI2KNR) | ||
746 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/jutils.c; then echo $(srcdir)/jutils.c; else echo jutils.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
747 | rdbmp_.c: rdbmp.c $(ANSI2KNR) | ||
748 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdbmp.c; then echo $(srcdir)/rdbmp.c; else echo rdbmp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
749 | rdcolmap_.c: rdcolmap.c $(ANSI2KNR) | ||
750 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdcolmap.c; then echo $(srcdir)/rdcolmap.c; else echo rdcolmap.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
751 | rdgif_.c: rdgif.c $(ANSI2KNR) | ||
752 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdgif.c; then echo $(srcdir)/rdgif.c; else echo rdgif.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
753 | rdjpgcom_.c: rdjpgcom.c $(ANSI2KNR) | ||
754 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdjpgcom.c; then echo $(srcdir)/rdjpgcom.c; else echo rdjpgcom.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
755 | rdppm_.c: rdppm.c $(ANSI2KNR) | ||
756 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdppm.c; then echo $(srcdir)/rdppm.c; else echo rdppm.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
757 | rdrle_.c: rdrle.c $(ANSI2KNR) | ||
758 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdrle.c; then echo $(srcdir)/rdrle.c; else echo rdrle.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
759 | rdswitch_.c: rdswitch.c $(ANSI2KNR) | ||
760 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdswitch.c; then echo $(srcdir)/rdswitch.c; else echo rdswitch.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
761 | rdtarga_.c: rdtarga.c $(ANSI2KNR) | ||
762 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/rdtarga.c; then echo $(srcdir)/rdtarga.c; else echo rdtarga.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
763 | transupp_.c: transupp.c $(ANSI2KNR) | ||
764 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/transupp.c; then echo $(srcdir)/transupp.c; else echo transupp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
765 | wrbmp_.c: wrbmp.c $(ANSI2KNR) | ||
766 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrbmp.c; then echo $(srcdir)/wrbmp.c; else echo wrbmp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
767 | wrgif_.c: wrgif.c $(ANSI2KNR) | ||
768 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrgif.c; then echo $(srcdir)/wrgif.c; else echo wrgif.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
769 | wrjpgcom_.c: wrjpgcom.c $(ANSI2KNR) | ||
770 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrjpgcom.c; then echo $(srcdir)/wrjpgcom.c; else echo wrjpgcom.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
771 | wrppm_.c: wrppm.c $(ANSI2KNR) | ||
772 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrppm.c; then echo $(srcdir)/wrppm.c; else echo wrppm.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
773 | wrrle_.c: wrrle.c $(ANSI2KNR) | ||
774 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrrle.c; then echo $(srcdir)/wrrle.c; else echo wrrle.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
775 | wrtarga_.c: wrtarga.c $(ANSI2KNR) | ||
776 | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/wrtarga.c; then echo $(srcdir)/wrtarga.c; else echo wrtarga.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > $@ || rm -f $@ | ||
777 | @MEMORYMGR@_.$(OBJEXT) @MEMORYMGR@_.lo cdjpeg_.$(OBJEXT) cdjpeg_.lo \ | ||
778 | cjpeg_.$(OBJEXT) cjpeg_.lo djpeg_.$(OBJEXT) djpeg_.lo \ | ||
779 | jaricom_.$(OBJEXT) jaricom_.lo jcapimin_.$(OBJEXT) jcapimin_.lo \ | ||
780 | jcapistd_.$(OBJEXT) jcapistd_.lo jcarith_.$(OBJEXT) jcarith_.lo \ | ||
781 | jccoefct_.$(OBJEXT) jccoefct_.lo jccolor_.$(OBJEXT) jccolor_.lo \ | ||
782 | jcdctmgr_.$(OBJEXT) jcdctmgr_.lo jchuff_.$(OBJEXT) jchuff_.lo \ | ||
783 | jcinit_.$(OBJEXT) jcinit_.lo jcmainct_.$(OBJEXT) jcmainct_.lo \ | ||
784 | jcmarker_.$(OBJEXT) jcmarker_.lo jcmaster_.$(OBJEXT) jcmaster_.lo \ | ||
785 | jcomapi_.$(OBJEXT) jcomapi_.lo jcparam_.$(OBJEXT) jcparam_.lo \ | ||
786 | jcprepct_.$(OBJEXT) jcprepct_.lo jcsample_.$(OBJEXT) jcsample_.lo \ | ||
787 | jctrans_.$(OBJEXT) jctrans_.lo jdapimin_.$(OBJEXT) jdapimin_.lo \ | ||
788 | jdapistd_.$(OBJEXT) jdapistd_.lo jdarith_.$(OBJEXT) jdarith_.lo \ | ||
789 | jdatadst_.$(OBJEXT) jdatadst_.lo jdatasrc_.$(OBJEXT) jdatasrc_.lo \ | ||
790 | jdcoefct_.$(OBJEXT) jdcoefct_.lo jdcolor_.$(OBJEXT) jdcolor_.lo \ | ||
791 | jddctmgr_.$(OBJEXT) jddctmgr_.lo jdhuff_.$(OBJEXT) jdhuff_.lo \ | ||
792 | jdinput_.$(OBJEXT) jdinput_.lo jdmainct_.$(OBJEXT) jdmainct_.lo \ | ||
793 | jdmarker_.$(OBJEXT) jdmarker_.lo jdmaster_.$(OBJEXT) jdmaster_.lo \ | ||
794 | jdmerge_.$(OBJEXT) jdmerge_.lo jdpostct_.$(OBJEXT) jdpostct_.lo \ | ||
795 | jdsample_.$(OBJEXT) jdsample_.lo jdtrans_.$(OBJEXT) jdtrans_.lo \ | ||
796 | jerror_.$(OBJEXT) jerror_.lo jfdctflt_.$(OBJEXT) jfdctflt_.lo \ | ||
797 | jfdctfst_.$(OBJEXT) jfdctfst_.lo jfdctint_.$(OBJEXT) jfdctint_.lo \ | ||
798 | jidctflt_.$(OBJEXT) jidctflt_.lo jidctfst_.$(OBJEXT) jidctfst_.lo \ | ||
799 | jidctint_.$(OBJEXT) jidctint_.lo jmemmgr_.$(OBJEXT) jmemmgr_.lo \ | ||
800 | jpegtran_.$(OBJEXT) jpegtran_.lo jquant1_.$(OBJEXT) jquant1_.lo \ | ||
801 | jquant2_.$(OBJEXT) jquant2_.lo jutils_.$(OBJEXT) jutils_.lo \ | ||
802 | rdbmp_.$(OBJEXT) rdbmp_.lo rdcolmap_.$(OBJEXT) rdcolmap_.lo \ | ||
803 | rdgif_.$(OBJEXT) rdgif_.lo rdjpgcom_.$(OBJEXT) rdjpgcom_.lo \ | ||
804 | rdppm_.$(OBJEXT) rdppm_.lo rdrle_.$(OBJEXT) rdrle_.lo \ | ||
805 | rdswitch_.$(OBJEXT) rdswitch_.lo rdtarga_.$(OBJEXT) rdtarga_.lo \ | ||
806 | transupp_.$(OBJEXT) transupp_.lo wrbmp_.$(OBJEXT) wrbmp_.lo \ | ||
807 | wrgif_.$(OBJEXT) wrgif_.lo wrjpgcom_.$(OBJEXT) wrjpgcom_.lo \ | ||
808 | wrppm_.$(OBJEXT) wrppm_.lo wrrle_.$(OBJEXT) wrrle_.lo \ | ||
809 | wrtarga_.$(OBJEXT) wrtarga_.lo : $(ANSI2KNR) | ||
810 | 728 | ||
811 | mostlyclean-libtool: | 729 | mostlyclean-libtool: |
812 | -rm -f *.lo | 730 | -rm -f *.lo |
@@ -818,11 +736,18 @@ distclean-libtool: | |||
818 | -rm -f libtool config.lt | 736 | -rm -f libtool config.lt |
819 | install-man1: $(man_MANS) | 737 | install-man1: $(man_MANS) |
820 | @$(NORMAL_INSTALL) | 738 | @$(NORMAL_INSTALL) |
821 | test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" | 739 | @list1=''; \ |
822 | @list=''; test -n "$(man1dir)" || exit 0; \ | 740 | list2='$(man_MANS)'; \ |
823 | { for i in $$list; do echo "$$i"; done; \ | 741 | test -n "$(man1dir)" \ |
824 | l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ | 742 | && test -n "`echo $$list1$$list2`" \ |
825 | sed -n '/\.1[a-z]*$$/p'; \ | 743 | || exit 0; \ |
744 | echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ | ||
745 | $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ | ||
746 | { for i in $$list1; do echo "$$i"; done; \ | ||
747 | if test -n "$$list2"; then \ | ||
748 | for i in $$list2; do echo "$$i"; done \ | ||
749 | | sed -n '/\.1[a-z]*$$/p'; \ | ||
750 | fi; \ | ||
826 | } | while read p; do \ | 751 | } | while read p; do \ |
827 | if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ | 752 | if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ |
828 | echo "$$d$$p"; echo "$$p"; \ | 753 | echo "$$d$$p"; echo "$$p"; \ |
@@ -854,8 +779,11 @@ uninstall-man1: | |||
854 | dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) | 779 | dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) |
855 | install-includeHEADERS: $(include_HEADERS) | 780 | install-includeHEADERS: $(include_HEADERS) |
856 | @$(NORMAL_INSTALL) | 781 | @$(NORMAL_INSTALL) |
857 | test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" | ||
858 | @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ | 782 | @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ |
783 | if test -n "$$list"; then \ | ||
784 | echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ | ||
785 | $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ | ||
786 | fi; \ | ||
859 | for p in $$list; do \ | 787 | for p in $$list; do \ |
860 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ | 788 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
861 | echo "$$d$$p"; \ | 789 | echo "$$d$$p"; \ |
@@ -871,26 +799,15 @@ uninstall-includeHEADERS: | |||
871 | files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ | 799 | files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ |
872 | dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) | 800 | dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) |
873 | 801 | ||
874 | ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) | 802 | ID: $(am__tagged_files) |
875 | list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | 803 | $(am__define_uniq_tagged_files); mkid -fID $$unique |
876 | unique=`for i in $$list; do \ | 804 | tags: tags-am |
877 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | 805 | TAGS: tags |
878 | done | \ | 806 | |
879 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | 807 | tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) |
880 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | ||
881 | mkid -fID $$unique | ||
882 | tags: TAGS | ||
883 | |||
884 | TAGS: $(HEADERS) $(SOURCES) jconfig.cfg $(TAGS_DEPENDENCIES) \ | ||
885 | $(TAGS_FILES) $(LISP) | ||
886 | set x; \ | 808 | set x; \ |
887 | here=`pwd`; \ | 809 | here=`pwd`; \ |
888 | list='$(SOURCES) $(HEADERS) jconfig.cfg $(LISP) $(TAGS_FILES)'; \ | 810 | $(am__define_uniq_tagged_files); \ |
889 | unique=`for i in $$list; do \ | ||
890 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||
891 | done | \ | ||
892 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | ||
893 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | ||
894 | shift; \ | 811 | shift; \ |
895 | if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ | 812 | if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ |
896 | test -n "$$unique" || unique=$$empty_fix; \ | 813 | test -n "$$unique" || unique=$$empty_fix; \ |
@@ -902,15 +819,11 @@ TAGS: $(HEADERS) $(SOURCES) jconfig.cfg $(TAGS_DEPENDENCIES) \ | |||
902 | $$unique; \ | 819 | $$unique; \ |
903 | fi; \ | 820 | fi; \ |
904 | fi | 821 | fi |
905 | ctags: CTAGS | 822 | ctags: ctags-am |
906 | CTAGS: $(HEADERS) $(SOURCES) jconfig.cfg $(TAGS_DEPENDENCIES) \ | 823 | |
907 | $(TAGS_FILES) $(LISP) | 824 | CTAGS: ctags |
908 | list='$(SOURCES) $(HEADERS) jconfig.cfg $(LISP) $(TAGS_FILES)'; \ | 825 | ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) |
909 | unique=`for i in $$list; do \ | 826 | $(am__define_uniq_tagged_files); \ |
910 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||
911 | done | \ | ||
912 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | ||
913 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | ||
914 | test -z "$(CTAGS_ARGS)$$unique" \ | 827 | test -z "$(CTAGS_ARGS)$$unique" \ |
915 | || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ | 828 | || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ |
916 | $$unique | 829 | $$unique |
@@ -919,14 +832,36 @@ GTAGS: | |||
919 | here=`$(am__cd) $(top_builddir) && pwd` \ | 832 | here=`$(am__cd) $(top_builddir) && pwd` \ |
920 | && $(am__cd) $(top_srcdir) \ | 833 | && $(am__cd) $(top_srcdir) \ |
921 | && gtags -i $(GTAGS_ARGS) "$$here" | 834 | && gtags -i $(GTAGS_ARGS) "$$here" |
835 | cscope: cscope.files | ||
836 | test ! -s cscope.files \ | ||
837 | || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) | ||
838 | clean-cscope: | ||
839 | -rm -f cscope.files | ||
840 | cscope.files: clean-cscope cscopelist | ||
841 | cscopelist: cscopelist-am | ||
842 | |||
843 | cscopelist-am: $(am__tagged_files) | ||
844 | list='$(am__tagged_files)'; \ | ||
845 | case "$(srcdir)" in \ | ||
846 | [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ | ||
847 | *) sdir=$(subdir)/$(srcdir) ;; \ | ||
848 | esac; \ | ||
849 | for i in $$list; do \ | ||
850 | if test -f "$$i"; then \ | ||
851 | echo "$(subdir)/$$i"; \ | ||
852 | else \ | ||
853 | echo "$$sdir/$$i"; \ | ||
854 | fi; \ | ||
855 | done >> $(top_builddir)/cscope.files | ||
922 | 856 | ||
923 | distclean-tags: | 857 | distclean-tags: |
924 | -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags | 858 | -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags |
859 | -rm -f cscope.out cscope.in.out cscope.po.out cscope.files | ||
925 | check-am: all-am | 860 | check-am: all-am |
926 | $(MAKE) $(AM_MAKEFLAGS) check-local | 861 | $(MAKE) $(AM_MAKEFLAGS) check-local |
927 | check: check-am | 862 | check: check-am |
928 | all-am: Makefile $(ANSI2KNR) $(LTLIBRARIES) $(PROGRAMS) $(MANS) \ | 863 | all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(MANS) $(HEADERS) \ |
929 | $(HEADERS) jconfig.h | 864 | jconfig.h |
930 | install-binPROGRAMS: install-libLTLIBRARIES | 865 | install-binPROGRAMS: install-libLTLIBRARIES |
931 | 866 | ||
932 | installdirs: | 867 | installdirs: |
@@ -966,8 +901,8 @@ maintainer-clean-generic: | |||
966 | @echo "it deletes files that may require special tools to rebuild." | 901 | @echo "it deletes files that may require special tools to rebuild." |
967 | clean: clean-am | 902 | clean: clean-am |
968 | 903 | ||
969 | clean-am: clean-binPROGRAMS clean-generic clean-krextra \ | 904 | clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ |
970 | clean-libLTLIBRARIES clean-libtool mostlyclean-am | 905 | clean-libtool mostlyclean-am |
971 | 906 | ||
972 | distclean: distclean-am | 907 | distclean: distclean-am |
973 | -rm -f $(am__CONFIG_DISTCLEAN_FILES) | 908 | -rm -f $(am__CONFIG_DISTCLEAN_FILES) |
@@ -1025,7 +960,7 @@ maintainer-clean-am: distclean-am maintainer-clean-generic | |||
1025 | 960 | ||
1026 | mostlyclean: mostlyclean-am | 961 | mostlyclean: mostlyclean-am |
1027 | 962 | ||
1028 | mostlyclean-am: mostlyclean-compile mostlyclean-generic mostlyclean-kr \ | 963 | mostlyclean-am: mostlyclean-compile mostlyclean-generic \ |
1029 | mostlyclean-libtool | 964 | mostlyclean-libtool |
1030 | 965 | ||
1031 | pdf: pdf-am | 966 | pdf: pdf-am |
@@ -1043,22 +978,22 @@ uninstall-man: uninstall-man1 | |||
1043 | 978 | ||
1044 | .MAKE: all check-am install-am install-strip | 979 | .MAKE: all check-am install-am install-strip |
1045 | 980 | ||
1046 | .PHONY: CTAGS GTAGS all all-am am--refresh check check-am check-local \ | 981 | .PHONY: CTAGS GTAGS TAGS all all-am am--refresh check check-am \ |
1047 | clean clean-binPROGRAMS clean-generic clean-krextra \ | 982 | check-local clean clean-binPROGRAMS clean-cscope clean-generic \ |
1048 | clean-libLTLIBRARIES clean-libtool ctags distclean \ | 983 | clean-libLTLIBRARIES clean-libtool cscope cscopelist-am ctags \ |
1049 | distclean-compile distclean-generic distclean-hdr \ | 984 | ctags-am distclean distclean-compile distclean-generic \ |
1050 | distclean-libtool distclean-tags dvi dvi-am html html-am info \ | 985 | distclean-hdr distclean-libtool distclean-tags dvi dvi-am html \ |
1051 | info-am install install-am install-binPROGRAMS install-data \ | 986 | html-am info info-am install install-am install-binPROGRAMS \ |
1052 | install-data-am install-data-local install-dvi install-dvi-am \ | 987 | install-data install-data-am install-data-local install-dvi \ |
1053 | install-exec install-exec-am install-html install-html-am \ | 988 | install-dvi-am install-exec install-exec-am install-html \ |
1054 | install-includeHEADERS install-info install-info-am \ | 989 | install-html-am install-includeHEADERS install-info \ |
1055 | install-libLTLIBRARIES install-man install-man1 install-pdf \ | 990 | install-info-am install-libLTLIBRARIES install-man \ |
1056 | install-pdf-am install-ps install-ps-am install-strip \ | 991 | install-man1 install-pdf install-pdf-am install-ps \ |
1057 | installcheck installcheck-am installdirs maintainer-clean \ | 992 | install-ps-am install-strip installcheck installcheck-am \ |
1058 | maintainer-clean-generic mostlyclean mostlyclean-compile \ | 993 | installdirs maintainer-clean maintainer-clean-generic \ |
1059 | mostlyclean-generic mostlyclean-kr mostlyclean-libtool pdf \ | 994 | mostlyclean mostlyclean-compile mostlyclean-generic \ |
1060 | pdf-am ps ps-am tags uninstall uninstall-am \ | 995 | mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ |
1061 | uninstall-binPROGRAMS uninstall-includeHEADERS \ | 996 | uninstall-am uninstall-binPROGRAMS uninstall-includeHEADERS \ |
1062 | uninstall-libLTLIBRARIES uninstall-local uninstall-man \ | 997 | uninstall-libLTLIBRARIES uninstall-local uninstall-man \ |
1063 | uninstall-man1 | 998 | uninstall-man1 |
1064 | 999 | ||
diff --git a/gs/jpeg/README b/gs/jpeg/README index 0a23c1959..014ad3017 100644 --- a/gs/jpeg/README +++ b/gs/jpeg/README | |||
@@ -1,10 +1,10 @@ | |||
1 | The Independent JPEG Group's JPEG software | 1 | The Independent JPEG Group's JPEG software |
2 | ========================================== | 2 | ========================================== |
3 | 3 | ||
4 | README for release 8d of 15-Jan-2012 | 4 | README for release 9a of 19-Jan-2014 |
5 | ==================================== | 5 | ==================================== |
6 | 6 | ||
7 | This distribution contains the eighth public release of the Independent JPEG | 7 | This distribution contains the ninth public release of the Independent JPEG |
8 | Group's free JPEG software. You are welcome to redistribute this software and | 8 | Group's free JPEG software. You are welcome to redistribute this software and |
9 | to use it for any purpose, subject to the conditions under LEGAL ISSUES, below. | 9 | to use it for any purpose, subject to the conditions under LEGAL ISSUES, below. |
10 | 10 | ||
@@ -14,7 +14,7 @@ Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers, | |||
14 | and other members of the Independent JPEG Group. | 14 | and other members of the Independent JPEG Group. |
15 | 15 | ||
16 | IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee | 16 | IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee |
17 | (also known as JPEG, together with ITU-T SG16). | 17 | (previously known as JPEG, together with ITU-T SG16). |
18 | 18 | ||
19 | 19 | ||
20 | DOCUMENTATION ROADMAP | 20 | DOCUMENTATION ROADMAP |
@@ -115,7 +115,7 @@ with respect to this software, its quality, accuracy, merchantability, or | |||
115 | fitness for a particular purpose. This software is provided "AS IS", and you, | 115 | fitness for a particular purpose. This software is provided "AS IS", and you, |
116 | its user, assume the entire risk as to its quality and accuracy. | 116 | its user, assume the entire risk as to its quality and accuracy. |
117 | 117 | ||
118 | This software is copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. | 118 | This software is copyright (C) 1991-2014, Thomas G. Lane, Guido Vollbeding. |
119 | All Rights Reserved except as specified below. | 119 | All Rights Reserved except as specified below. |
120 | 120 | ||
121 | Permission is hereby granted to use, copy, modify, and distribute this | 121 | Permission is hereby granted to use, copy, modify, and distribute this |
@@ -146,15 +146,6 @@ commercial products, provided that all warranty or liability claims are | |||
146 | assumed by the product vendor. | 146 | assumed by the product vendor. |
147 | 147 | ||
148 | 148 | ||
149 | ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, | ||
150 | sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. | ||
151 | ansi2knr.c is NOT covered by the above copyright and conditions, but instead | ||
152 | by the usual distribution terms of the Free Software Foundation; principally, | ||
153 | that you must include source code if you redistribute it. (See the file | ||
154 | ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part | ||
155 | of any program generated from the IJG code, this does not limit you more than | ||
156 | the foregoing paragraphs do. | ||
157 | |||
158 | The Unix configuration script "configure" was produced with GNU Autoconf. | 149 | The Unix configuration script "configure" was produced with GNU Autoconf. |
159 | It is copyright by the Free Software Foundation but is freely distributable. | 150 | It is copyright by the Free Software Foundation but is freely distributable. |
160 | The same holds for its supporting scripts (config.guess, config.sub, | 151 | The same holds for its supporting scripts (config.guess, config.sub, |
@@ -162,11 +153,11 @@ ltmain.sh). Another support script, install-sh, is copyright by X Consortium | |||
162 | but is also freely distributable. | 153 | but is also freely distributable. |
163 | 154 | ||
164 | The IJG distribution formerly included code to read and write GIF files. | 155 | The IJG distribution formerly included code to read and write GIF files. |
165 | To avoid entanglement with the Unisys LZW patent, GIF reading support has | 156 | To avoid entanglement with the Unisys LZW patent (now expired), GIF reading |
166 | been removed altogether, and the GIF writer has been simplified to produce | 157 | support has been removed altogether, and the GIF writer has been simplified |
167 | "uncompressed GIFs". This technique does not use the LZW algorithm; the | 158 | to produce "uncompressed GIFs". This technique does not use the LZW |
168 | resulting GIF files are larger than usual, but are readable by all standard | 159 | algorithm; the resulting GIF files are larger than usual, but are readable |
169 | GIF decoders. | 160 | by all standard GIF decoders. |
170 | 161 | ||
171 | We are required to state that | 162 | We are required to state that |
172 | "The Graphics Interchange Format(c) is the Copyright property of | 163 | "The Graphics Interchange Format(c) is the Copyright property of |
@@ -222,12 +213,16 @@ Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS | |||
222 | 10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of | 213 | 10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of |
223 | Continuous-tone Still Images, Part 2: Compliance testing" and has document | 214 | Continuous-tone Still Images, Part 2: Compliance testing" and has document |
224 | numbers ISO/IEC IS 10918-2, ITU-T T.83. | 215 | numbers ISO/IEC IS 10918-2, ITU-T T.83. |
225 | IJG JPEG 8 introduces an implementation of the JPEG SmartScale extension | 216 | IJG JPEG 8 introduced an implementation of the JPEG SmartScale extension |
226 | which is specified in two documents: A contributed document at ITU and ISO | 217 | which is specified in two documents: A contributed document at ITU and ISO |
227 | with title "ITU-T JPEG-Plus Proposal for Extending ITU-T T.81 for Advanced | 218 | with title "ITU-T JPEG-Plus Proposal for Extending ITU-T T.81 for Advanced |
228 | Image Coding", April 2006, Geneva, Switzerland. The latest version of this | 219 | Image Coding", April 2006, Geneva, Switzerland. The latest version of this |
229 | document is Revision 3. And a contributed document ISO/IEC JTC1/SC29/WG1 N | 220 | document is Revision 3. And a contributed document ISO/IEC JTC1/SC29/WG1 N |
230 | 5799 with title "Evolution of JPEG", June/July 2011, Berlin, Germany. | 221 | 5799 with title "Evolution of JPEG", June/July 2011, Berlin, Germany. |
222 | IJG JPEG 9 introduces a reversible color transform for improved lossless | ||
223 | compression which is described in a contributed document ISO/IEC JTC1/SC29/ | ||
224 | WG1 N 6080 with title "JPEG 9 Lossless Coding", June/July 2012, Paris, | ||
225 | France. | ||
231 | 226 | ||
232 | The JPEG standard does not specify all details of an interchangeable file | 227 | The JPEG standard does not specify all details of an interchangeable file |
233 | format. For the omitted details we follow the "JFIF" conventions, revision | 228 | format. For the omitted details we follow the "JFIF" conventions, revision |
@@ -257,8 +252,8 @@ ARCHIVE LOCATIONS | |||
257 | The "official" archive site for this software is www.ijg.org. | 252 | The "official" archive site for this software is www.ijg.org. |
258 | The most recent released version can always be found there in | 253 | The most recent released version can always be found there in |
259 | directory "files". This particular version will be archived as | 254 | directory "files". This particular version will be archived as |
260 | http://www.ijg.org/files/jpegsrc.v8d.tar.gz, and in Windows-compatible | 255 | http://www.ijg.org/files/jpegsrc.v9a.tar.gz, and in Windows-compatible |
261 | "zip" archive format as http://www.ijg.org/files/jpegsr8d.zip. | 256 | "zip" archive format as http://www.ijg.org/files/jpegsr9a.zip. |
262 | 257 | ||
263 | The JPEG FAQ (Frequently Asked Questions) article is a source of some | 258 | The JPEG FAQ (Frequently Asked Questions) article is a source of some |
264 | general information about JPEG. | 259 | general information about JPEG. |
@@ -285,7 +280,7 @@ Thank to Thomas Wiegand and Gary Sullivan for inviting me to the | |||
285 | Joint Video Team (MPEG & ITU) meeting in Geneva, Switzerland. | 280 | Joint Video Team (MPEG & ITU) meeting in Geneva, Switzerland. |
286 | 281 | ||
287 | Thank to Thomas Richter and Daniel Lee for inviting me to the | 282 | Thank to Thomas Richter and Daniel Lee for inviting me to the |
288 | ISO/IEC JTC1/SC29/WG1 (also known as JPEG, together with ITU-T SG16) | 283 | ISO/IEC JTC1/SC29/WG1 (previously known as JPEG, together with ITU-T SG16) |
289 | meeting in Berlin, Germany. | 284 | meeting in Berlin, Germany. |
290 | 285 | ||
291 | Thank to John Korejwa and Massimo Ballerini for inviting me to | 286 | Thank to John Korejwa and Massimo Ballerini for inviting me to |
@@ -311,10 +306,10 @@ design and development of this singular software package. | |||
311 | FILE FORMAT WARS | 306 | FILE FORMAT WARS |
312 | ================ | 307 | ================ |
313 | 308 | ||
314 | The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together | 309 | The ISO/IEC JTC1/SC29/WG1 standards committee (previously known as JPEG, |
315 | with ITU-T SG16) currently promotes different formats containing the name | 310 | together with ITU-T SG16) currently promotes different formats containing |
316 | "JPEG" which is misleading because these formats are incompatible with | 311 | the name "JPEG" which is misleading because these formats are incompatible |
317 | original DCT-based JPEG and are based on faulty technologies. | 312 | with original DCT-based JPEG and are based on faulty technologies. |
318 | IJG therefore does not and will not support such momentary mistakes | 313 | IJG therefore does not and will not support such momentary mistakes |
319 | (see REFERENCES). | 314 | (see REFERENCES). |
320 | There exist also distributions under the name "OpenJPEG" promoting such | 315 | There exist also distributions under the name "OpenJPEG" promoting such |
@@ -327,25 +322,60 @@ Don't use an incompatible file format! | |||
327 | (In any case, our decoder will remain capable of reading existing JPEG | 322 | (In any case, our decoder will remain capable of reading existing JPEG |
328 | image files indefinitely.) | 323 | image files indefinitely.) |
329 | 324 | ||
330 | Furthermore, the ISO committee pretends to be "responsible for the popular | 325 | The ISO committee pretends to be "responsible for the popular JPEG" in their |
331 | JPEG" in their public reports which is not true because they don't respond to | 326 | public reports which is not true because they don't respond to actual |
332 | actual requirements for the maintenance of the original JPEG specification. | 327 | requirements for the maintenance of the original JPEG specification. |
333 | 328 | Furthermore, the ISO committee pretends to "ensure interoperability" with | |
334 | There are currently distributions in circulation containing the name | 329 | their standards which is not true because their "standards" support only |
335 | "libjpeg" which claim to be a "derivative" or "fork" of the original | 330 | application-specific and proprietary use cases and contain mathematically |
336 | libjpeg, but don't have the features and are incompatible with formats | 331 | incorrect code. |
337 | supported by actual IJG libjpeg distributions. Furthermore, they | 332 | |
338 | violate the license conditions as described under LEGAL ISSUES above. | 333 | There are currently different distributions in circulation containing the |
339 | We have no sympathy for the release of misleading and illegal | 334 | name "libjpeg" which is misleading because they don't have the features and |
335 | are incompatible with formats supported by actual IJG libjpeg distributions. | ||
336 | One of those fakes is released by members of the ISO committee and just uses | ||
337 | the name of libjpeg for misdirection of people, similar to the abuse of the | ||
338 | name JPEG as described above, while having nothing in common with actual IJG | ||
339 | libjpeg distributions and containing mathematically incorrect code. | ||
340 | The other one claims to be a "derivative" or "fork" of the original libjpeg, | ||
341 | but violates the license conditions as described under LEGAL ISSUES above | ||
342 | and violates basic C programming properties. | ||
343 | We have no sympathy for the release of misleading, incorrect and illegal | ||
340 | distributions derived from obsolete code bases. | 344 | distributions derived from obsolete code bases. |
341 | Don't use an obsolete code base! | 345 | Don't use an obsolete code base! |
342 | 346 | ||
347 | According to the UCC (Uniform Commercial Code) law, IJG has the lawful and | ||
348 | legal right to foreclose on certain standardization bodies and other | ||
349 | institutions or corporations that knowingly perform substantial and | ||
350 | systematic deceptive acts and practices, fraud, theft, and damaging of the | ||
351 | value of the people of this planet without their knowing, willing and | ||
352 | intentional consent. | ||
353 | The titles, ownership, and rights of these institutions and all their assets | ||
354 | are now duly secured and held in trust for the free people of this planet. | ||
355 | People of the planet, on every country, may have a financial interest in | ||
356 | the assets of these former principals, agents, and beneficiaries of the | ||
357 | foreclosed institutions and corporations. | ||
358 | IJG asserts what is: that each man, woman, and child has unalienable value | ||
359 | and rights granted and deposited in them by the Creator and not any one of | ||
360 | the people is subordinate to any artificial principality, corporate fiction | ||
361 | or the special interest of another without their appropriate knowing, | ||
362 | willing and intentional consent made by contract or accommodation agreement. | ||
363 | IJG expresses that which already was. | ||
364 | The people have already determined and demanded that public administration | ||
365 | entities, national governments, and their supporting judicial systems must | ||
366 | be fully transparent, accountable, and liable. | ||
367 | IJG has secured the value for all concerned free people of the planet. | ||
368 | |||
369 | A partial list of foreclosed institutions and corporations ("Hall of Shame") | ||
370 | is currently prepared and will be published later. | ||
371 | |||
343 | 372 | ||
344 | TO DO | 373 | TO DO |
345 | ===== | 374 | ===== |
346 | 375 | ||
347 | Version 8 is the first release of a new generation JPEG standard | 376 | Version 9 is the second release of a new generation JPEG standard |
348 | to overcome the limitations of the original JPEG specification. | 377 | to overcome the limitations of the original JPEG specification, |
378 | and is the first true source reference JPEG codec. | ||
349 | More features are being prepared for coming releases... | 379 | More features are being prepared for coming releases... |
350 | 380 | ||
351 | Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. | 381 | Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. |
diff --git a/gs/jpeg/aclocal.m4 b/gs/jpeg/aclocal.m4 index 9b38b974a..9e947ab46 100644 --- a/gs/jpeg/aclocal.m4 +++ b/gs/jpeg/aclocal.m4 | |||
@@ -1,8 +1,7 @@ | |||
1 | # generated automatically by aclocal 1.11.2 -*- Autoconf -*- | 1 | # generated automatically by aclocal 1.14.1 -*- Autoconf -*- |
2 | |||
3 | # Copyright (C) 1996-2013 Free Software Foundation, Inc. | ||
2 | 4 | ||
3 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, | ||
4 | # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, | ||
5 | # Inc. | ||
6 | # This file is free software; the Free Software Foundation | 5 | # This file is free software; the Free Software Foundation |
7 | # gives unlimited permission to copy and/or distribute it, | 6 | # gives unlimited permission to copy and/or distribute it, |
8 | # with or without modifications, as long as this notice is preserved. | 7 | # with or without modifications, as long as this notice is preserved. |
@@ -12,13 +11,14 @@ | |||
12 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | 11 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
13 | # PARTICULAR PURPOSE. | 12 | # PARTICULAR PURPOSE. |
14 | 13 | ||
14 | m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) | ||
15 | m4_ifndef([AC_AUTOCONF_VERSION], | 15 | m4_ifndef([AC_AUTOCONF_VERSION], |
16 | [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl | 16 | [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl |
17 | m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, | 17 | m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, |
18 | [m4_warning([this file was generated for autoconf 2.68. | 18 | [m4_warning([this file was generated for autoconf 2.69. |
19 | You have another version of autoconf. It may work, but is not guaranteed to. | 19 | You have another version of autoconf. It may work, but is not guaranteed to. |
20 | If you have problems, you may need to regenerate the build system entirely. | 20 | If you have problems, you may need to regenerate the build system entirely. |
21 | To do so, use the procedure documented by the package, typically `autoreconf'.])]) | 21 | To do so, use the procedure documented by the package, typically 'autoreconf'.])]) |
22 | 22 | ||
23 | # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- | 23 | # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- |
24 | # | 24 | # |
@@ -8607,25 +8607,22 @@ m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) | |||
8607 | m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) | 8607 | m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) |
8608 | m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) | 8608 | m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) |
8609 | 8609 | ||
8610 | # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software | 8610 | # Copyright (C) 2002-2013 Free Software Foundation, Inc. |
8611 | # Foundation, Inc. | ||
8612 | # | 8611 | # |
8613 | # This file is free software; the Free Software Foundation | 8612 | # This file is free software; the Free Software Foundation |
8614 | # gives unlimited permission to copy and/or distribute it, | 8613 | # gives unlimited permission to copy and/or distribute it, |
8615 | # with or without modifications, as long as this notice is preserved. | 8614 | # with or without modifications, as long as this notice is preserved. |
8616 | 8615 | ||
8617 | # serial 1 | ||
8618 | |||
8619 | # AM_AUTOMAKE_VERSION(VERSION) | 8616 | # AM_AUTOMAKE_VERSION(VERSION) |
8620 | # ---------------------------- | 8617 | # ---------------------------- |
8621 | # Automake X.Y traces this macro to ensure aclocal.m4 has been | 8618 | # Automake X.Y traces this macro to ensure aclocal.m4 has been |
8622 | # generated from the m4 files accompanying Automake X.Y. | 8619 | # generated from the m4 files accompanying Automake X.Y. |
8623 | # (This private macro should not be called outside this file.) | 8620 | # (This private macro should not be called outside this file.) |
8624 | AC_DEFUN([AM_AUTOMAKE_VERSION], | 8621 | AC_DEFUN([AM_AUTOMAKE_VERSION], |
8625 | [am__api_version='1.11' | 8622 | [am__api_version='1.14' |
8626 | dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to | 8623 | dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to |
8627 | dnl require some minimum version. Point them to the right macro. | 8624 | dnl require some minimum version. Point them to the right macro. |
8628 | m4_if([$1], [1.11.2], [], | 8625 | m4_if([$1], [1.14.1], [], |
8629 | [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl | 8626 | [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl |
8630 | ]) | 8627 | ]) |
8631 | 8628 | ||
@@ -8641,24 +8638,82 @@ m4_define([_AM_AUTOCONF_VERSION], []) | |||
8641 | # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. | 8638 | # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. |
8642 | # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. | 8639 | # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. |
8643 | AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], | 8640 | AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], |
8644 | [AM_AUTOMAKE_VERSION([1.11.2])dnl | 8641 | [AM_AUTOMAKE_VERSION([1.14.1])dnl |
8645 | m4_ifndef([AC_AUTOCONF_VERSION], | 8642 | m4_ifndef([AC_AUTOCONF_VERSION], |
8646 | [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl | 8643 | [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl |
8647 | _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) | 8644 | _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) |
8648 | 8645 | ||
8646 | # Copyright (C) 2011-2013 Free Software Foundation, Inc. | ||
8647 | # | ||
8648 | # This file is free software; the Free Software Foundation | ||
8649 | # gives unlimited permission to copy and/or distribute it, | ||
8650 | # with or without modifications, as long as this notice is preserved. | ||
8651 | |||
8652 | # AM_PROG_AR([ACT-IF-FAIL]) | ||
8653 | # ------------------------- | ||
8654 | # Try to determine the archiver interface, and trigger the ar-lib wrapper | ||
8655 | # if it is needed. If the detection of archiver interface fails, run | ||
8656 | # ACT-IF-FAIL (default is to abort configure with a proper error message). | ||
8657 | AC_DEFUN([AM_PROG_AR], | ||
8658 | [AC_BEFORE([$0], [LT_INIT])dnl | ||
8659 | AC_BEFORE([$0], [AC_PROG_LIBTOOL])dnl | ||
8660 | AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl | ||
8661 | AC_REQUIRE_AUX_FILE([ar-lib])dnl | ||
8662 | AC_CHECK_TOOLS([AR], [ar lib "link -lib"], [false]) | ||
8663 | : ${AR=ar} | ||
8664 | |||
8665 | AC_CACHE_CHECK([the archiver ($AR) interface], [am_cv_ar_interface], | ||
8666 | [AC_LANG_PUSH([C]) | ||
8667 | am_cv_ar_interface=ar | ||
8668 | AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int some_variable = 0;]])], | ||
8669 | [am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&AS_MESSAGE_LOG_FD' | ||
8670 | AC_TRY_EVAL([am_ar_try]) | ||
8671 | if test "$ac_status" -eq 0; then | ||
8672 | am_cv_ar_interface=ar | ||
8673 | else | ||
8674 | am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&AS_MESSAGE_LOG_FD' | ||
8675 | AC_TRY_EVAL([am_ar_try]) | ||
8676 | if test "$ac_status" -eq 0; then | ||
8677 | am_cv_ar_interface=lib | ||
8678 | else | ||
8679 | am_cv_ar_interface=unknown | ||
8680 | fi | ||
8681 | fi | ||
8682 | rm -f conftest.lib libconftest.a | ||
8683 | ]) | ||
8684 | AC_LANG_POP([C])]) | ||
8685 | |||
8686 | case $am_cv_ar_interface in | ||
8687 | ar) | ||
8688 | ;; | ||
8689 | lib) | ||
8690 | # Microsoft lib, so override with the ar-lib wrapper script. | ||
8691 | # FIXME: It is wrong to rewrite AR. | ||
8692 | # But if we don't then we get into trouble of one sort or another. | ||
8693 | # A longer-term fix would be to have automake use am__AR in this case, | ||
8694 | # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something | ||
8695 | # similar. | ||
8696 | AR="$am_aux_dir/ar-lib $AR" | ||
8697 | ;; | ||
8698 | unknown) | ||
8699 | m4_default([$1], | ||
8700 | [AC_MSG_ERROR([could not determine $AR interface])]) | ||
8701 | ;; | ||
8702 | esac | ||
8703 | AC_SUBST([AR])dnl | ||
8704 | ]) | ||
8705 | |||
8649 | # AM_AUX_DIR_EXPAND -*- Autoconf -*- | 8706 | # AM_AUX_DIR_EXPAND -*- Autoconf -*- |
8650 | 8707 | ||
8651 | # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. | 8708 | # Copyright (C) 2001-2013 Free Software Foundation, Inc. |
8652 | # | 8709 | # |
8653 | # This file is free software; the Free Software Foundation | 8710 | # This file is free software; the Free Software Foundation |
8654 | # gives unlimited permission to copy and/or distribute it, | 8711 | # gives unlimited permission to copy and/or distribute it, |
8655 | # with or without modifications, as long as this notice is preserved. | 8712 | # with or without modifications, as long as this notice is preserved. |
8656 | 8713 | ||
8657 | # serial 1 | ||
8658 | |||
8659 | # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets | 8714 | # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets |
8660 | # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to | 8715 | # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to |
8661 | # `$srcdir', `$srcdir/..', or `$srcdir/../..'. | 8716 | # '$srcdir', '$srcdir/..', or '$srcdir/../..'. |
8662 | # | 8717 | # |
8663 | # Of course, Automake must honor this variable whenever it calls a | 8718 | # Of course, Automake must honor this variable whenever it calls a |
8664 | # tool from the auxiliary directory. The problem is that $srcdir (and | 8719 | # tool from the auxiliary directory. The problem is that $srcdir (and |
@@ -8677,7 +8732,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) | |||
8677 | # | 8732 | # |
8678 | # The reason of the latter failure is that $top_srcdir and $ac_aux_dir | 8733 | # The reason of the latter failure is that $top_srcdir and $ac_aux_dir |
8679 | # are both prefixed by $srcdir. In an in-source build this is usually | 8734 | # are both prefixed by $srcdir. In an in-source build this is usually |
8680 | # harmless because $srcdir is `.', but things will broke when you | 8735 | # harmless because $srcdir is '.', but things will broke when you |
8681 | # start a VPATH build or use an absolute $srcdir. | 8736 | # start a VPATH build or use an absolute $srcdir. |
8682 | # | 8737 | # |
8683 | # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, | 8738 | # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, |
@@ -8703,22 +8758,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd` | |||
8703 | 8758 | ||
8704 | # AM_CONDITIONAL -*- Autoconf -*- | 8759 | # AM_CONDITIONAL -*- Autoconf -*- |
8705 | 8760 | ||
8706 | # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 | 8761 | # Copyright (C) 1997-2013 Free Software Foundation, Inc. |
8707 | # Free Software Foundation, Inc. | ||
8708 | # | 8762 | # |
8709 | # This file is free software; the Free Software Foundation | 8763 | # This file is free software; the Free Software Foundation |
8710 | # gives unlimited permission to copy and/or distribute it, | 8764 | # gives unlimited permission to copy and/or distribute it, |
8711 | # with or without modifications, as long as this notice is preserved. | 8765 | # with or without modifications, as long as this notice is preserved. |
8712 | 8766 | ||
8713 | # serial 9 | ||
8714 | |||
8715 | # AM_CONDITIONAL(NAME, SHELL-CONDITION) | 8767 | # AM_CONDITIONAL(NAME, SHELL-CONDITION) |
8716 | # ------------------------------------- | 8768 | # ------------------------------------- |
8717 | # Define a conditional. | 8769 | # Define a conditional. |
8718 | AC_DEFUN([AM_CONDITIONAL], | 8770 | AC_DEFUN([AM_CONDITIONAL], |
8719 | [AC_PREREQ(2.52)dnl | 8771 | [AC_PREREQ([2.52])dnl |
8720 | ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], | 8772 | m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], |
8721 | [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl | 8773 | [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl |
8722 | AC_SUBST([$1_TRUE])dnl | 8774 | AC_SUBST([$1_TRUE])dnl |
8723 | AC_SUBST([$1_FALSE])dnl | 8775 | AC_SUBST([$1_FALSE])dnl |
8724 | _AM_SUBST_NOTMAKE([$1_TRUE])dnl | 8776 | _AM_SUBST_NOTMAKE([$1_TRUE])dnl |
@@ -8737,16 +8789,14 @@ AC_CONFIG_COMMANDS_PRE( | |||
8737 | Usually this means the macro was only invoked conditionally.]]) | 8789 | Usually this means the macro was only invoked conditionally.]]) |
8738 | fi])]) | 8790 | fi])]) |
8739 | 8791 | ||
8740 | # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, | 8792 | # Copyright (C) 1999-2013 Free Software Foundation, Inc. |
8741 | # 2010, 2011 Free Software Foundation, Inc. | ||
8742 | # | 8793 | # |
8743 | # This file is free software; the Free Software Foundation | 8794 | # This file is free software; the Free Software Foundation |
8744 | # gives unlimited permission to copy and/or distribute it, | 8795 | # gives unlimited permission to copy and/or distribute it, |
8745 | # with or without modifications, as long as this notice is preserved. | 8796 | # with or without modifications, as long as this notice is preserved. |
8746 | 8797 | ||
8747 | # serial 12 | ||
8748 | 8798 | ||
8749 | # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be | 8799 | # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be |
8750 | # written in clear, in which case automake, when reading aclocal.m4, | 8800 | # written in clear, in which case automake, when reading aclocal.m4, |
8751 | # will think it sees a *use*, and therefore will trigger all it's | 8801 | # will think it sees a *use*, and therefore will trigger all it's |
8752 | # C support machinery. Also note that it means that autoscan, seeing | 8802 | # C support machinery. Also note that it means that autoscan, seeing |
@@ -8756,7 +8806,7 @@ fi])]) | |||
8756 | # _AM_DEPENDENCIES(NAME) | 8806 | # _AM_DEPENDENCIES(NAME) |
8757 | # ---------------------- | 8807 | # ---------------------- |
8758 | # See how the compiler implements dependency checking. | 8808 | # See how the compiler implements dependency checking. |
8759 | # NAME is "CC", "CXX", "GCJ", or "OBJC". | 8809 | # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". |
8760 | # We try a few techniques and use that to set a single cache variable. | 8810 | # We try a few techniques and use that to set a single cache variable. |
8761 | # | 8811 | # |
8762 | # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was | 8812 | # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was |
@@ -8769,12 +8819,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl | |||
8769 | AC_REQUIRE([AM_MAKE_INCLUDE])dnl | 8819 | AC_REQUIRE([AM_MAKE_INCLUDE])dnl |
8770 | AC_REQUIRE([AM_DEP_TRACK])dnl | 8820 | AC_REQUIRE([AM_DEP_TRACK])dnl |
8771 | 8821 | ||
8772 | ifelse([$1], CC, [depcc="$CC" am_compiler_list=], | 8822 | m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], |
8773 | [$1], CXX, [depcc="$CXX" am_compiler_list=], | 8823 | [$1], [CXX], [depcc="$CXX" am_compiler_list=], |
8774 | [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], | 8824 | [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], |
8775 | [$1], UPC, [depcc="$UPC" am_compiler_list=], | 8825 | [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], |
8776 | [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], | 8826 | [$1], [UPC], [depcc="$UPC" am_compiler_list=], |
8777 | [depcc="$$1" am_compiler_list=]) | 8827 | [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], |
8828 | [depcc="$$1" am_compiler_list=]) | ||
8778 | 8829 | ||
8779 | AC_CACHE_CHECK([dependency style of $depcc], | 8830 | AC_CACHE_CHECK([dependency style of $depcc], |
8780 | [am_cv_$1_dependencies_compiler_type], | 8831 | [am_cv_$1_dependencies_compiler_type], |
@@ -8782,8 +8833,8 @@ AC_CACHE_CHECK([dependency style of $depcc], | |||
8782 | # We make a subdir and do the tests there. Otherwise we can end up | 8833 | # We make a subdir and do the tests there. Otherwise we can end up |
8783 | # making bogus files that we don't know about and never remove. For | 8834 | # making bogus files that we don't know about and never remove. For |
8784 | # instance it was reported that on HP-UX the gcc test will end up | 8835 | # instance it was reported that on HP-UX the gcc test will end up |
8785 | # making a dummy file named `D' -- because `-MD' means `put the output | 8836 | # making a dummy file named 'D' -- because '-MD' means "put the output |
8786 | # in D'. | 8837 | # in D". |
8787 | rm -rf conftest.dir | 8838 | rm -rf conftest.dir |
8788 | mkdir conftest.dir | 8839 | mkdir conftest.dir |
8789 | # Copy depcomp to subdir because otherwise we won't find it if we're | 8840 | # Copy depcomp to subdir because otherwise we won't find it if we're |
@@ -8823,16 +8874,16 @@ AC_CACHE_CHECK([dependency style of $depcc], | |||
8823 | : > sub/conftest.c | 8874 | : > sub/conftest.c |
8824 | for i in 1 2 3 4 5 6; do | 8875 | for i in 1 2 3 4 5 6; do |
8825 | echo '#include "conftst'$i'.h"' >> sub/conftest.c | 8876 | echo '#include "conftst'$i'.h"' >> sub/conftest.c |
8826 | # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with | 8877 | # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with |
8827 | # Solaris 8's {/usr,}/bin/sh. | 8878 | # Solaris 10 /bin/sh. |
8828 | touch sub/conftst$i.h | 8879 | echo '/* dummy */' > sub/conftst$i.h |
8829 | done | 8880 | done |
8830 | echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf | 8881 | echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf |
8831 | 8882 | ||
8832 | # We check with `-c' and `-o' for the sake of the "dashmstdout" | 8883 | # We check with '-c' and '-o' for the sake of the "dashmstdout" |
8833 | # mode. It turns out that the SunPro C++ compiler does not properly | 8884 | # mode. It turns out that the SunPro C++ compiler does not properly |
8834 | # handle `-M -o', and we need to detect this. Also, some Intel | 8885 | # handle '-M -o', and we need to detect this. Also, some Intel |
8835 | # versions had trouble with output in subdirs | 8886 | # versions had trouble with output in subdirs. |
8836 | am__obj=sub/conftest.${OBJEXT-o} | 8887 | am__obj=sub/conftest.${OBJEXT-o} |
8837 | am__minus_obj="-o $am__obj" | 8888 | am__minus_obj="-o $am__obj" |
8838 | case $depmode in | 8889 | case $depmode in |
@@ -8841,8 +8892,8 @@ AC_CACHE_CHECK([dependency style of $depcc], | |||
8841 | test "$am__universal" = false || continue | 8892 | test "$am__universal" = false || continue |
8842 | ;; | 8893 | ;; |
8843 | nosideeffect) | 8894 | nosideeffect) |
8844 | # after this tag, mechanisms are not by side-effect, so they'll | 8895 | # After this tag, mechanisms are not by side-effect, so they'll |
8845 | # only be used when explicitly requested | 8896 | # only be used when explicitly requested. |
8846 | if test "x$enable_dependency_tracking" = xyes; then | 8897 | if test "x$enable_dependency_tracking" = xyes; then |
8847 | continue | 8898 | continue |
8848 | else | 8899 | else |
@@ -8850,7 +8901,7 @@ AC_CACHE_CHECK([dependency style of $depcc], | |||
8850 | fi | 8901 | fi |
8851 | ;; | 8902 | ;; |
8852 | msvc7 | msvc7msys | msvisualcpp | msvcmsys) | 8903 | msvc7 | msvc7msys | msvisualcpp | msvcmsys) |
8853 | # This compiler won't grok `-c -o', but also, the minuso test has | 8904 | # This compiler won't grok '-c -o', but also, the minuso test has |
8854 | # not run yet. These depmodes are late enough in the game, and | 8905 | # not run yet. These depmodes are late enough in the game, and |
8855 | # so weak that their functioning should not be impacted. | 8906 | # so weak that their functioning should not be impacted. |
8856 | am__obj=conftest.${OBJEXT-o} | 8907 | am__obj=conftest.${OBJEXT-o} |
@@ -8898,7 +8949,7 @@ AM_CONDITIONAL([am__fastdep$1], [ | |||
8898 | # AM_SET_DEPDIR | 8949 | # AM_SET_DEPDIR |
8899 | # ------------- | 8950 | # ------------- |
8900 | # Choose a directory name for dependency files. | 8951 | # Choose a directory name for dependency files. |
8901 | # This macro is AC_REQUIREd in _AM_DEPENDENCIES | 8952 | # This macro is AC_REQUIREd in _AM_DEPENDENCIES. |
8902 | AC_DEFUN([AM_SET_DEPDIR], | 8953 | AC_DEFUN([AM_SET_DEPDIR], |
8903 | [AC_REQUIRE([AM_SET_LEADING_DOT])dnl | 8954 | [AC_REQUIRE([AM_SET_LEADING_DOT])dnl |
8904 | AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl | 8955 | AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl |
@@ -8908,9 +8959,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl | |||
8908 | # AM_DEP_TRACK | 8959 | # AM_DEP_TRACK |
8909 | # ------------ | 8960 | # ------------ |
8910 | AC_DEFUN([AM_DEP_TRACK], | 8961 | AC_DEFUN([AM_DEP_TRACK], |
8911 | [AC_ARG_ENABLE(dependency-tracking, | 8962 | [AC_ARG_ENABLE([dependency-tracking], [dnl |
8912 | [ --disable-dependency-tracking speeds up one-time build | 8963 | AS_HELP_STRING( |
8913 | --enable-dependency-tracking do not reject slow dependency extractors]) | 8964 | [--enable-dependency-tracking], |
8965 | [do not reject slow dependency extractors]) | ||
8966 | AS_HELP_STRING( | ||
8967 | [--disable-dependency-tracking], | ||
8968 | [speeds up one-time build])]) | ||
8914 | if test "x$enable_dependency_tracking" != xno; then | 8969 | if test "x$enable_dependency_tracking" != xno; then |
8915 | am_depcomp="$ac_aux_dir/depcomp" | 8970 | am_depcomp="$ac_aux_dir/depcomp" |
8916 | AMDEPBACKSLASH='\' | 8971 | AMDEPBACKSLASH='\' |
@@ -8925,20 +8980,18 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl | |||
8925 | 8980 | ||
8926 | # Generate code to set up dependency tracking. -*- Autoconf -*- | 8981 | # Generate code to set up dependency tracking. -*- Autoconf -*- |
8927 | 8982 | ||
8928 | # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 | 8983 | # Copyright (C) 1999-2013 Free Software Foundation, Inc. |
8929 | # Free Software Foundation, Inc. | ||
8930 | # | 8984 | # |
8931 | # This file is free software; the Free Software Foundation | 8985 | # This file is free software; the Free Software Foundation |
8932 | # gives unlimited permission to copy and/or distribute it, | 8986 | # gives unlimited permission to copy and/or distribute it, |
8933 | # with or without modifications, as long as this notice is preserved. | 8987 | # with or without modifications, as long as this notice is preserved. |
8934 | 8988 | ||
8935 | #serial 5 | ||
8936 | 8989 | ||
8937 | # _AM_OUTPUT_DEPENDENCY_COMMANDS | 8990 | # _AM_OUTPUT_DEPENDENCY_COMMANDS |
8938 | # ------------------------------ | 8991 | # ------------------------------ |
8939 | AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], | 8992 | AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], |
8940 | [{ | 8993 | [{ |
8941 | # Autoconf 2.62 quotes --file arguments for eval, but not when files | 8994 | # Older Autoconf quotes --file arguments for eval, but not when files |
8942 | # are listed without --file. Let's play safe and only enable the eval | 8995 | # are listed without --file. Let's play safe and only enable the eval |
8943 | # if we detect the quoting. | 8996 | # if we detect the quoting. |
8944 | case $CONFIG_FILES in | 8997 | case $CONFIG_FILES in |
@@ -8951,7 +9004,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], | |||
8951 | # Strip MF so we end up with the name of the file. | 9004 | # Strip MF so we end up with the name of the file. |
8952 | mf=`echo "$mf" | sed -e 's/:.*$//'` | 9005 | mf=`echo "$mf" | sed -e 's/:.*$//'` |
8953 | # Check whether this is an Automake generated Makefile or not. | 9006 | # Check whether this is an Automake generated Makefile or not. |
8954 | # We used to match only the files named `Makefile.in', but | 9007 | # We used to match only the files named 'Makefile.in', but |
8955 | # some people rename them; so instead we look at the file content. | 9008 | # some people rename them; so instead we look at the file content. |
8956 | # Grep'ing the first line is not enough: some people post-process | 9009 | # Grep'ing the first line is not enough: some people post-process |
8957 | # each Makefile.in and add a new line on top of each file to say so. | 9010 | # each Makefile.in and add a new line on top of each file to say so. |
@@ -8963,21 +9016,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], | |||
8963 | continue | 9016 | continue |
8964 | fi | 9017 | fi |
8965 | # Extract the definition of DEPDIR, am__include, and am__quote | 9018 | # Extract the definition of DEPDIR, am__include, and am__quote |
8966 | # from the Makefile without running `make'. | 9019 | # from the Makefile without running 'make'. |
8967 | DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` | 9020 | DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` |
8968 | test -z "$DEPDIR" && continue | 9021 | test -z "$DEPDIR" && continue |
8969 | am__include=`sed -n 's/^am__include = //p' < "$mf"` | 9022 | am__include=`sed -n 's/^am__include = //p' < "$mf"` |
8970 | test -z "am__include" && continue | 9023 | test -z "$am__include" && continue |
8971 | am__quote=`sed -n 's/^am__quote = //p' < "$mf"` | 9024 | am__quote=`sed -n 's/^am__quote = //p' < "$mf"` |
8972 | # When using ansi2knr, U may be empty or an underscore; expand it | ||
8973 | U=`sed -n 's/^U = //p' < "$mf"` | ||
8974 | # Find all dependency output files, they are included files with | 9025 | # Find all dependency output files, they are included files with |
8975 | # $(DEPDIR) in their names. We invoke sed twice because it is the | 9026 | # $(DEPDIR) in their names. We invoke sed twice because it is the |
8976 | # simplest approach to changing $(DEPDIR) to its actual value in the | 9027 | # simplest approach to changing $(DEPDIR) to its actual value in the |
8977 | # expansion. | 9028 | # expansion. |
8978 | for file in `sed -n " | 9029 | for file in `sed -n " |
8979 | s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ | 9030 | s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ |
8980 | sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do | 9031 | sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do |
8981 | # Make sure the directory exists. | 9032 | # Make sure the directory exists. |
8982 | test -f "$dirpart/$file" && continue | 9033 | test -f "$dirpart/$file" && continue |
8983 | fdir=`AS_DIRNAME(["$file"])` | 9034 | fdir=`AS_DIRNAME(["$file"])` |
@@ -8995,7 +9046,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], | |||
8995 | # This macro should only be invoked once -- use via AC_REQUIRE. | 9046 | # This macro should only be invoked once -- use via AC_REQUIRE. |
8996 | # | 9047 | # |
8997 | # This code is only required when automatic dependency tracking | 9048 | # This code is only required when automatic dependency tracking |
8998 | # is enabled. FIXME. This creates each `.P' file that we will | 9049 | # is enabled. FIXME. This creates each '.P' file that we will |
8999 | # need in order to bootstrap the dependency handling code. | 9050 | # need in order to bootstrap the dependency handling code. |
9000 | AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], | 9051 | AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], |
9001 | [AC_CONFIG_COMMANDS([depfiles], | 9052 | [AC_CONFIG_COMMANDS([depfiles], |
@@ -9005,18 +9056,21 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], | |||
9005 | 9056 | ||
9006 | # Do all the work for Automake. -*- Autoconf -*- | 9057 | # Do all the work for Automake. -*- Autoconf -*- |
9007 | 9058 | ||
9008 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, | 9059 | # Copyright (C) 1996-2013 Free Software Foundation, Inc. |
9009 | # 2005, 2006, 2008, 2009 Free Software Foundation, Inc. | ||
9010 | # | 9060 | # |
9011 | # This file is free software; the Free Software Foundation | 9061 | # This file is free software; the Free Software Foundation |
9012 | # gives unlimited permission to copy and/or distribute it, | 9062 | # gives unlimited permission to copy and/or distribute it, |
9013 | # with or without modifications, as long as this notice is preserved. | 9063 | # with or without modifications, as long as this notice is preserved. |
9014 | 9064 | ||
9015 | # serial 16 | ||
9016 | |||
9017 | # This macro actually does too much. Some checks are only needed if | 9065 | # This macro actually does too much. Some checks are only needed if |
9018 | # your package does certain things. But this isn't really a big deal. | 9066 | # your package does certain things. But this isn't really a big deal. |
9019 | 9067 | ||
9068 | dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. | ||
9069 | m4_define([AC_PROG_CC], | ||
9070 | m4_defn([AC_PROG_CC]) | ||
9071 | [_AM_PROG_CC_C_O | ||
9072 | ]) | ||
9073 | |||
9020 | # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) | 9074 | # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) |
9021 | # AM_INIT_AUTOMAKE([OPTIONS]) | 9075 | # AM_INIT_AUTOMAKE([OPTIONS]) |
9022 | # ----------------------------------------------- | 9076 | # ----------------------------------------------- |
@@ -9029,7 +9083,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], | |||
9029 | # arguments mandatory, and then we can depend on a new Autoconf | 9083 | # arguments mandatory, and then we can depend on a new Autoconf |
9030 | # release and drop the old call support. | 9084 | # release and drop the old call support. |
9031 | AC_DEFUN([AM_INIT_AUTOMAKE], | 9085 | AC_DEFUN([AM_INIT_AUTOMAKE], |
9032 | [AC_PREREQ([2.62])dnl | 9086 | [AC_PREREQ([2.65])dnl |
9033 | dnl Autoconf wants to disallow AM_ names. We explicitly allow | 9087 | dnl Autoconf wants to disallow AM_ names. We explicitly allow |
9034 | dnl the ones we care about. | 9088 | dnl the ones we care about. |
9035 | m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl | 9089 | m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl |
@@ -9058,31 +9112,40 @@ AC_SUBST([CYGPATH_W]) | |||
9058 | # Define the identity of the package. | 9112 | # Define the identity of the package. |
9059 | dnl Distinguish between old-style and new-style calls. | 9113 | dnl Distinguish between old-style and new-style calls. |
9060 | m4_ifval([$2], | 9114 | m4_ifval([$2], |
9061 | [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl | 9115 | [AC_DIAGNOSE([obsolete], |
9116 | [$0: two- and three-arguments forms are deprecated.]) | ||
9117 | m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl | ||
9062 | AC_SUBST([PACKAGE], [$1])dnl | 9118 | AC_SUBST([PACKAGE], [$1])dnl |
9063 | AC_SUBST([VERSION], [$2])], | 9119 | AC_SUBST([VERSION], [$2])], |
9064 | [_AM_SET_OPTIONS([$1])dnl | 9120 | [_AM_SET_OPTIONS([$1])dnl |
9065 | dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. | 9121 | dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. |
9066 | m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, | 9122 | m4_if( |
9123 | m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), | ||
9124 | [ok:ok],, | ||
9067 | [m4_fatal([AC_INIT should be called with package and version arguments])])dnl | 9125 | [m4_fatal([AC_INIT should be called with package and version arguments])])dnl |
9068 | AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl | 9126 | AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl |
9069 | AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl | 9127 | AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl |
9070 | 9128 | ||
9071 | _AM_IF_OPTION([no-define],, | 9129 | _AM_IF_OPTION([no-define],, |
9072 | [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) | 9130 | [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) |
9073 | AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl | 9131 | AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl |
9074 | 9132 | ||
9075 | # Some tools Automake needs. | 9133 | # Some tools Automake needs. |
9076 | AC_REQUIRE([AM_SANITY_CHECK])dnl | 9134 | AC_REQUIRE([AM_SANITY_CHECK])dnl |
9077 | AC_REQUIRE([AC_ARG_PROGRAM])dnl | 9135 | AC_REQUIRE([AC_ARG_PROGRAM])dnl |
9078 | AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) | 9136 | AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) |
9079 | AM_MISSING_PROG(AUTOCONF, autoconf) | 9137 | AM_MISSING_PROG([AUTOCONF], [autoconf]) |
9080 | AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) | 9138 | AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) |
9081 | AM_MISSING_PROG(AUTOHEADER, autoheader) | 9139 | AM_MISSING_PROG([AUTOHEADER], [autoheader]) |
9082 | AM_MISSING_PROG(MAKEINFO, makeinfo) | 9140 | AM_MISSING_PROG([MAKEINFO], [makeinfo]) |
9083 | AC_REQUIRE([AM_PROG_INSTALL_SH])dnl | 9141 | AC_REQUIRE([AM_PROG_INSTALL_SH])dnl |
9084 | AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl | 9142 | AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl |
9085 | AC_REQUIRE([AM_PROG_MKDIR_P])dnl | 9143 | AC_REQUIRE([AC_PROG_MKDIR_P])dnl |
9144 | # For better backward compatibility. To be removed once Automake 1.9.x | ||
9145 | # dies out for good. For more background, see: | ||
9146 | # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> | ||
9147 | # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> | ||
9148 | AC_SUBST([mkdir_p], ['$(MKDIR_P)']) | ||
9086 | # We need awk for the "check" target. The system "awk" is bad on | 9149 | # We need awk for the "check" target. The system "awk" is bad on |
9087 | # some platforms. | 9150 | # some platforms. |
9088 | AC_REQUIRE([AC_PROG_AWK])dnl | 9151 | AC_REQUIRE([AC_PROG_AWK])dnl |
@@ -9093,34 +9156,78 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], | |||
9093 | [_AM_PROG_TAR([v7])])]) | 9156 | [_AM_PROG_TAR([v7])])]) |
9094 | _AM_IF_OPTION([no-dependencies],, | 9157 | _AM_IF_OPTION([no-dependencies],, |
9095 | [AC_PROVIDE_IFELSE([AC_PROG_CC], | 9158 | [AC_PROVIDE_IFELSE([AC_PROG_CC], |
9096 | [_AM_DEPENDENCIES(CC)], | 9159 | [_AM_DEPENDENCIES([CC])], |
9097 | [define([AC_PROG_CC], | 9160 | [m4_define([AC_PROG_CC], |
9098 | defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl | 9161 | m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl |
9099 | AC_PROVIDE_IFELSE([AC_PROG_CXX], | 9162 | AC_PROVIDE_IFELSE([AC_PROG_CXX], |
9100 | [_AM_DEPENDENCIES(CXX)], | 9163 | [_AM_DEPENDENCIES([CXX])], |
9101 | [define([AC_PROG_CXX], | 9164 | [m4_define([AC_PROG_CXX], |
9102 | defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl | 9165 | m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl |
9103 | AC_PROVIDE_IFELSE([AC_PROG_OBJC], | 9166 | AC_PROVIDE_IFELSE([AC_PROG_OBJC], |
9104 | [_AM_DEPENDENCIES(OBJC)], | 9167 | [_AM_DEPENDENCIES([OBJC])], |
9105 | [define([AC_PROG_OBJC], | 9168 | [m4_define([AC_PROG_OBJC], |
9106 | defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl | 9169 | m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl |
9170 | AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], | ||
9171 | [_AM_DEPENDENCIES([OBJCXX])], | ||
9172 | [m4_define([AC_PROG_OBJCXX], | ||
9173 | m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl | ||
9107 | ]) | 9174 | ]) |
9108 | _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl | 9175 | AC_REQUIRE([AM_SILENT_RULES])dnl |
9109 | dnl The `parallel-tests' driver may need to know about EXEEXT, so add the | 9176 | dnl The testsuite driver may need to know about EXEEXT, so add the |
9110 | dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro | 9177 | dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This |
9111 | dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. | 9178 | dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. |
9112 | AC_CONFIG_COMMANDS_PRE(dnl | 9179 | AC_CONFIG_COMMANDS_PRE(dnl |
9113 | [m4_provide_if([_AM_COMPILER_EXEEXT], | 9180 | [m4_provide_if([_AM_COMPILER_EXEEXT], |
9114 | [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl | 9181 | [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl |
9115 | ]) | ||
9116 | 9182 | ||
9117 | dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not | 9183 | # POSIX will say in a future version that running "rm -f" with no argument |
9184 | # is OK; and we want to be able to make that assumption in our Makefile | ||
9185 | # recipes. So use an aggressive probe to check that the usage we want is | ||
9186 | # actually supported "in the wild" to an acceptable degree. | ||
9187 | # See automake bug#10828. | ||
9188 | # To make any issue more visible, cause the running configure to be aborted | ||
9189 | # by default if the 'rm' program in use doesn't match our expectations; the | ||
9190 | # user can still override this though. | ||
9191 | if rm -f && rm -fr && rm -rf; then : OK; else | ||
9192 | cat >&2 <<'END' | ||
9193 | Oops! | ||
9194 | |||
9195 | Your 'rm' program seems unable to run without file operands specified | ||
9196 | on the command line, even when the '-f' option is present. This is contrary | ||
9197 | to the behaviour of most rm programs out there, and not conforming with | ||
9198 | the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> | ||
9199 | |||
9200 | Please tell bug-automake@gnu.org about your system, including the value | ||
9201 | of your $PATH and any error possibly output before this message. This | ||
9202 | can help us improve future automake versions. | ||
9203 | |||
9204 | END | ||
9205 | if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then | ||
9206 | echo 'Configuration will proceed anyway, since you have set the' >&2 | ||
9207 | echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 | ||
9208 | echo >&2 | ||
9209 | else | ||
9210 | cat >&2 <<'END' | ||
9211 | Aborting the configuration process, to ensure you take notice of the issue. | ||
9212 | |||
9213 | You can download and install GNU coreutils to get an 'rm' implementation | ||
9214 | that behaves properly: <http://www.gnu.org/software/coreutils/>. | ||
9215 | |||
9216 | If you want to complete the configuration process using your problematic | ||
9217 | 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM | ||
9218 | to "yes", and re-run configure. | ||
9219 | |||
9220 | END | ||
9221 | AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) | ||
9222 | fi | ||
9223 | fi]) | ||
9224 | |||
9225 | dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not | ||
9118 | dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further | 9226 | dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further |
9119 | dnl mangled by Autoconf and run in a shell conditional statement. | 9227 | dnl mangled by Autoconf and run in a shell conditional statement. |
9120 | m4_define([_AC_COMPILER_EXEEXT], | 9228 | m4_define([_AC_COMPILER_EXEEXT], |
9121 | m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) | 9229 | m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) |
9122 | 9230 | ||
9123 | |||
9124 | # When config.status generates a header, we must update the stamp-h file. | 9231 | # When config.status generates a header, we must update the stamp-h file. |
9125 | # This file resides in the same directory as the config header | 9232 | # This file resides in the same directory as the config header |
9126 | # that is generated. The stamp files are numbered to have different names. | 9233 | # that is generated. The stamp files are numbered to have different names. |
@@ -9142,15 +9249,12 @@ for _am_header in $config_headers :; do | |||
9142 | done | 9249 | done |
9143 | echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) | 9250 | echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) |
9144 | 9251 | ||
9145 | # Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, | 9252 | # Copyright (C) 2001-2013 Free Software Foundation, Inc. |
9146 | # Inc. | ||
9147 | # | 9253 | # |
9148 | # This file is free software; the Free Software Foundation | 9254 | # This file is free software; the Free Software Foundation |
9149 | # gives unlimited permission to copy and/or distribute it, | 9255 | # gives unlimited permission to copy and/or distribute it, |
9150 | # with or without modifications, as long as this notice is preserved. | 9256 | # with or without modifications, as long as this notice is preserved. |
9151 | 9257 | ||
9152 | # serial 1 | ||
9153 | |||
9154 | # AM_PROG_INSTALL_SH | 9258 | # AM_PROG_INSTALL_SH |
9155 | # ------------------ | 9259 | # ------------------ |
9156 | # Define $install_sh. | 9260 | # Define $install_sh. |
@@ -9164,16 +9268,14 @@ if test x"${install_sh}" != xset; then | |||
9164 | install_sh="\${SHELL} $am_aux_dir/install-sh" | 9268 | install_sh="\${SHELL} $am_aux_dir/install-sh" |
9165 | esac | 9269 | esac |
9166 | fi | 9270 | fi |
9167 | AC_SUBST(install_sh)]) | 9271 | AC_SUBST([install_sh])]) |
9168 | 9272 | ||
9169 | # Copyright (C) 2003, 2005 Free Software Foundation, Inc. | 9273 | # Copyright (C) 2003-2013 Free Software Foundation, Inc. |
9170 | # | 9274 | # |
9171 | # This file is free software; the Free Software Foundation | 9275 | # This file is free software; the Free Software Foundation |
9172 | # gives unlimited permission to copy and/or distribute it, | 9276 | # gives unlimited permission to copy and/or distribute it, |
9173 | # with or without modifications, as long as this notice is preserved. | 9277 | # with or without modifications, as long as this notice is preserved. |
9174 | 9278 | ||
9175 | # serial 2 | ||
9176 | |||
9177 | # Check whether the underlying file-system supports filenames | 9279 | # Check whether the underlying file-system supports filenames |
9178 | # with a leading dot. For instance MS-DOS doesn't. | 9280 | # with a leading dot. For instance MS-DOS doesn't. |
9179 | AC_DEFUN([AM_SET_LEADING_DOT], | 9281 | AC_DEFUN([AM_SET_LEADING_DOT], |
@@ -9190,20 +9292,17 @@ AC_SUBST([am__leading_dot])]) | |||
9190 | # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- | 9292 | # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- |
9191 | # From Jim Meyering | 9293 | # From Jim Meyering |
9192 | 9294 | ||
9193 | # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008, | 9295 | # Copyright (C) 1996-2013 Free Software Foundation, Inc. |
9194 | # 2011 Free Software Foundation, Inc. | ||
9195 | # | 9296 | # |
9196 | # This file is free software; the Free Software Foundation | 9297 | # This file is free software; the Free Software Foundation |
9197 | # gives unlimited permission to copy and/or distribute it, | 9298 | # gives unlimited permission to copy and/or distribute it, |
9198 | # with or without modifications, as long as this notice is preserved. | 9299 | # with or without modifications, as long as this notice is preserved. |
9199 | 9300 | ||
9200 | # serial 5 | ||
9201 | |||
9202 | # AM_MAINTAINER_MODE([DEFAULT-MODE]) | 9301 | # AM_MAINTAINER_MODE([DEFAULT-MODE]) |
9203 | # ---------------------------------- | 9302 | # ---------------------------------- |
9204 | # Control maintainer-specific portions of Makefiles. | 9303 | # Control maintainer-specific portions of Makefiles. |
9205 | # Default is to disable them, unless `enable' is passed literally. | 9304 | # Default is to disable them, unless 'enable' is passed literally. |
9206 | # For symmetry, `disable' may be passed as well. Anyway, the user | 9305 | # For symmetry, 'disable' may be passed as well. Anyway, the user |
9207 | # can override the default with the --enable/--disable switch. | 9306 | # can override the default with the --enable/--disable switch. |
9208 | AC_DEFUN([AM_MAINTAINER_MODE], | 9307 | AC_DEFUN([AM_MAINTAINER_MODE], |
9209 | [m4_case(m4_default([$1], [disable]), | 9308 | [m4_case(m4_default([$1], [disable]), |
@@ -9214,10 +9313,11 @@ AC_DEFUN([AM_MAINTAINER_MODE], | |||
9214 | AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) | 9313 | AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) |
9215 | dnl maintainer-mode's default is 'disable' unless 'enable' is passed | 9314 | dnl maintainer-mode's default is 'disable' unless 'enable' is passed |
9216 | AC_ARG_ENABLE([maintainer-mode], | 9315 | AC_ARG_ENABLE([maintainer-mode], |
9217 | [ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful | 9316 | [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], |
9218 | (and sometimes confusing) to the casual installer], | 9317 | am_maintainer_other[ make rules and dependencies not useful |
9219 | [USE_MAINTAINER_MODE=$enableval], | 9318 | (and sometimes confusing) to the casual installer])], |
9220 | [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) | 9319 | [USE_MAINTAINER_MODE=$enableval], |
9320 | [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) | ||
9221 | AC_MSG_RESULT([$USE_MAINTAINER_MODE]) | 9321 | AC_MSG_RESULT([$USE_MAINTAINER_MODE]) |
9222 | AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) | 9322 | AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) |
9223 | MAINT=$MAINTAINER_MODE_TRUE | 9323 | MAINT=$MAINTAINER_MODE_TRUE |
@@ -9225,18 +9325,14 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) | |||
9225 | ] | 9325 | ] |
9226 | ) | 9326 | ) |
9227 | 9327 | ||
9228 | AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) | ||
9229 | |||
9230 | # Check to see how 'make' treats includes. -*- Autoconf -*- | 9328 | # Check to see how 'make' treats includes. -*- Autoconf -*- |
9231 | 9329 | ||
9232 | # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. | 9330 | # Copyright (C) 2001-2013 Free Software Foundation, Inc. |
9233 | # | 9331 | # |
9234 | # This file is free software; the Free Software Foundation | 9332 | # This file is free software; the Free Software Foundation |
9235 | # gives unlimited permission to copy and/or distribute it, | 9333 | # gives unlimited permission to copy and/or distribute it, |
9236 | # with or without modifications, as long as this notice is preserved. | 9334 | # with or without modifications, as long as this notice is preserved. |
9237 | 9335 | ||
9238 | # serial 4 | ||
9239 | |||
9240 | # AM_MAKE_INCLUDE() | 9336 | # AM_MAKE_INCLUDE() |
9241 | # ----------------- | 9337 | # ----------------- |
9242 | # Check to see how make treats includes. | 9338 | # Check to see how make treats includes. |
@@ -9254,7 +9350,7 @@ am__quote= | |||
9254 | _am_result=none | 9350 | _am_result=none |
9255 | # First try GNU make style include. | 9351 | # First try GNU make style include. |
9256 | echo "include confinc" > confmf | 9352 | echo "include confinc" > confmf |
9257 | # Ignore all kinds of additional output from `make'. | 9353 | # Ignore all kinds of additional output from 'make'. |
9258 | case `$am_make -s -f confmf 2> /dev/null` in #( | 9354 | case `$am_make -s -f confmf 2> /dev/null` in #( |
9259 | *the\ am__doit\ target*) | 9355 | *the\ am__doit\ target*) |
9260 | am__include=include | 9356 | am__include=include |
@@ -9281,15 +9377,12 @@ rm -f confinc confmf | |||
9281 | 9377 | ||
9282 | # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- | 9378 | # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- |
9283 | 9379 | ||
9284 | # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 | 9380 | # Copyright (C) 1997-2013 Free Software Foundation, Inc. |
9285 | # Free Software Foundation, Inc. | ||
9286 | # | 9381 | # |
9287 | # This file is free software; the Free Software Foundation | 9382 | # This file is free software; the Free Software Foundation |
9288 | # gives unlimited permission to copy and/or distribute it, | 9383 | # gives unlimited permission to copy and/or distribute it, |
9289 | # with or without modifications, as long as this notice is preserved. | 9384 | # with or without modifications, as long as this notice is preserved. |
9290 | 9385 | ||
9291 | # serial 6 | ||
9292 | |||
9293 | # AM_MISSING_PROG(NAME, PROGRAM) | 9386 | # AM_MISSING_PROG(NAME, PROGRAM) |
9294 | # ------------------------------ | 9387 | # ------------------------------ |
9295 | AC_DEFUN([AM_MISSING_PROG], | 9388 | AC_DEFUN([AM_MISSING_PROG], |
@@ -9297,11 +9390,10 @@ AC_DEFUN([AM_MISSING_PROG], | |||
9297 | $1=${$1-"${am_missing_run}$2"} | 9390 | $1=${$1-"${am_missing_run}$2"} |
9298 | AC_SUBST($1)]) | 9391 | AC_SUBST($1)]) |
9299 | 9392 | ||
9300 | |||
9301 | # AM_MISSING_HAS_RUN | 9393 | # AM_MISSING_HAS_RUN |
9302 | # ------------------ | 9394 | # ------------------ |
9303 | # Define MISSING if not defined so far and test if it supports --run. | 9395 | # Define MISSING if not defined so far and test if it is modern enough. |
9304 | # If it does, set am_missing_run to use it, otherwise, to nothing. | 9396 | # If it is, set am_missing_run to use it, otherwise, to nothing. |
9305 | AC_DEFUN([AM_MISSING_HAS_RUN], | 9397 | AC_DEFUN([AM_MISSING_HAS_RUN], |
9306 | [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl | 9398 | [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl |
9307 | AC_REQUIRE_AUX_FILE([missing])dnl | 9399 | AC_REQUIRE_AUX_FILE([missing])dnl |
@@ -9314,54 +9406,22 @@ if test x"${MISSING+set}" != xset; then | |||
9314 | esac | 9406 | esac |
9315 | fi | 9407 | fi |
9316 | # Use eval to expand $SHELL | 9408 | # Use eval to expand $SHELL |
9317 | if eval "$MISSING --run true"; then | 9409 | if eval "$MISSING --is-lightweight"; then |
9318 | am_missing_run="$MISSING --run " | 9410 | am_missing_run="$MISSING " |
9319 | else | 9411 | else |
9320 | am_missing_run= | 9412 | am_missing_run= |
9321 | AC_MSG_WARN([`missing' script is too old or missing]) | 9413 | AC_MSG_WARN(['missing' script is too old or missing]) |
9322 | fi | 9414 | fi |
9323 | ]) | 9415 | ]) |
9324 | 9416 | ||
9325 | # Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, | ||
9326 | # Inc. | ||
9327 | # | ||
9328 | # This file is free software; the Free Software Foundation | ||
9329 | # gives unlimited permission to copy and/or distribute it, | ||
9330 | # with or without modifications, as long as this notice is preserved. | ||
9331 | |||
9332 | # serial 1 | ||
9333 | |||
9334 | # AM_PROG_MKDIR_P | ||
9335 | # --------------- | ||
9336 | # Check for `mkdir -p'. | ||
9337 | AC_DEFUN([AM_PROG_MKDIR_P], | ||
9338 | [AC_PREREQ([2.60])dnl | ||
9339 | AC_REQUIRE([AC_PROG_MKDIR_P])dnl | ||
9340 | dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, | ||
9341 | dnl while keeping a definition of mkdir_p for backward compatibility. | ||
9342 | dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. | ||
9343 | dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of | ||
9344 | dnl Makefile.ins that do not define MKDIR_P, so we do our own | ||
9345 | dnl adjustment using top_builddir (which is defined more often than | ||
9346 | dnl MKDIR_P). | ||
9347 | AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl | ||
9348 | case $mkdir_p in | ||
9349 | [[\\/$]]* | ?:[[\\/]]*) ;; | ||
9350 | */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; | ||
9351 | esac | ||
9352 | ]) | ||
9353 | |||
9354 | # Helper functions for option handling. -*- Autoconf -*- | 9417 | # Helper functions for option handling. -*- Autoconf -*- |
9355 | 9418 | ||
9356 | # Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software | 9419 | # Copyright (C) 2001-2013 Free Software Foundation, Inc. |
9357 | # Foundation, Inc. | ||
9358 | # | 9420 | # |
9359 | # This file is free software; the Free Software Foundation | 9421 | # This file is free software; the Free Software Foundation |
9360 | # gives unlimited permission to copy and/or distribute it, | 9422 | # gives unlimited permission to copy and/or distribute it, |
9361 | # with or without modifications, as long as this notice is preserved. | 9423 | # with or without modifications, as long as this notice is preserved. |
9362 | 9424 | ||
9363 | # serial 5 | ||
9364 | |||
9365 | # _AM_MANGLE_OPTION(NAME) | 9425 | # _AM_MANGLE_OPTION(NAME) |
9366 | # ----------------------- | 9426 | # ----------------------- |
9367 | AC_DEFUN([_AM_MANGLE_OPTION], | 9427 | AC_DEFUN([_AM_MANGLE_OPTION], |
@@ -9371,7 +9431,7 @@ AC_DEFUN([_AM_MANGLE_OPTION], | |||
9371 | # -------------------- | 9431 | # -------------------- |
9372 | # Set option NAME. Presently that only means defining a flag for this option. | 9432 | # Set option NAME. Presently that only means defining a flag for this option. |
9373 | AC_DEFUN([_AM_SET_OPTION], | 9433 | AC_DEFUN([_AM_SET_OPTION], |
9374 | [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) | 9434 | [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) |
9375 | 9435 | ||
9376 | # _AM_SET_OPTIONS(OPTIONS) | 9436 | # _AM_SET_OPTIONS(OPTIONS) |
9377 | # ------------------------ | 9437 | # ------------------------ |
@@ -9385,52 +9445,82 @@ AC_DEFUN([_AM_SET_OPTIONS], | |||
9385 | AC_DEFUN([_AM_IF_OPTION], | 9445 | AC_DEFUN([_AM_IF_OPTION], |
9386 | [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) | 9446 | [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) |
9387 | 9447 | ||
9388 | # Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2006 | 9448 | # Copyright (C) 1999-2013 Free Software Foundation, Inc. |
9389 | # Free Software Foundation, Inc. | ||
9390 | # | 9449 | # |
9391 | # This file is free software; the Free Software Foundation | 9450 | # This file is free software; the Free Software Foundation |
9392 | # gives unlimited permission to copy and/or distribute it, | 9451 | # gives unlimited permission to copy and/or distribute it, |
9393 | # with or without modifications, as long as this notice is preserved. | 9452 | # with or without modifications, as long as this notice is preserved. |
9394 | 9453 | ||
9395 | # serial 5 | 9454 | # _AM_PROG_CC_C_O |
9396 | 9455 | # --------------- | |
9397 | AC_DEFUN([AM_C_PROTOTYPES], | 9456 | # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC |
9398 | [AC_REQUIRE([AC_C_PROTOTYPES]) | 9457 | # to automatically call this. |
9399 | AC_DIAGNOSE([obsolete], | 9458 | AC_DEFUN([_AM_PROG_CC_C_O], |
9400 | [$0: automatic de-ANSI-fication support is deprecated]) | 9459 | [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl |
9401 | if test "$ac_cv_prog_cc_stdc" != no; then | 9460 | AC_REQUIRE_AUX_FILE([compile])dnl |
9402 | U= ANSI2KNR= | 9461 | AC_LANG_PUSH([C])dnl |
9403 | else | 9462 | AC_CACHE_CHECK( |
9404 | U=_ ANSI2KNR=./ansi2knr | 9463 | [whether $CC understands -c and -o together], |
9464 | [am_cv_prog_cc_c_o], | ||
9465 | [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) | ||
9466 | # Make sure it works both with $CC and with simple cc. | ||
9467 | # Following AC_PROG_CC_C_O, we do the test twice because some | ||
9468 | # compilers refuse to overwrite an existing .o file with -o, | ||
9469 | # though they will create one. | ||
9470 | am_cv_prog_cc_c_o=yes | ||
9471 | for am_i in 1 2; do | ||
9472 | if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ | ||
9473 | && test -f conftest2.$ac_objext; then | ||
9474 | : OK | ||
9475 | else | ||
9476 | am_cv_prog_cc_c_o=no | ||
9477 | break | ||
9478 | fi | ||
9479 | done | ||
9480 | rm -f core conftest* | ||
9481 | unset am_i]) | ||
9482 | if test "$am_cv_prog_cc_c_o" != yes; then | ||
9483 | # Losing compiler, so override with the script. | ||
9484 | # FIXME: It is wrong to rewrite CC. | ||
9485 | # But if we don't then we get into trouble of one sort or another. | ||
9486 | # A longer-term fix would be to have automake use am__CC in this case, | ||
9487 | # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" | ||
9488 | CC="$am_aux_dir/compile $CC" | ||
9405 | fi | 9489 | fi |
9406 | # Ensure some checks needed by ansi2knr itself. | 9490 | AC_LANG_POP([C])]) |
9407 | AC_REQUIRE([AC_HEADER_STDC]) | ||
9408 | AC_CHECK_HEADERS([string.h]) | ||
9409 | AC_SUBST([U])dnl | ||
9410 | AC_SUBST([ANSI2KNR])dnl | ||
9411 | _AM_SUBST_NOTMAKE([ANSI2KNR])dnl | ||
9412 | ]) | ||
9413 | 9491 | ||
9414 | AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) | 9492 | # For backward compatibility. |
9493 | AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) | ||
9494 | |||
9495 | # Copyright (C) 2001-2013 Free Software Foundation, Inc. | ||
9496 | # | ||
9497 | # This file is free software; the Free Software Foundation | ||
9498 | # gives unlimited permission to copy and/or distribute it, | ||
9499 | # with or without modifications, as long as this notice is preserved. | ||
9500 | |||
9501 | # AM_RUN_LOG(COMMAND) | ||
9502 | # ------------------- | ||
9503 | # Run COMMAND, save the exit status in ac_status, and log it. | ||
9504 | # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) | ||
9505 | AC_DEFUN([AM_RUN_LOG], | ||
9506 | [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD | ||
9507 | ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD | ||
9508 | ac_status=$? | ||
9509 | echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD | ||
9510 | (exit $ac_status); }]) | ||
9415 | 9511 | ||
9416 | # Check to make sure that the build environment is sane. -*- Autoconf -*- | 9512 | # Check to make sure that the build environment is sane. -*- Autoconf -*- |
9417 | 9513 | ||
9418 | # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 | 9514 | # Copyright (C) 1996-2013 Free Software Foundation, Inc. |
9419 | # Free Software Foundation, Inc. | ||
9420 | # | 9515 | # |
9421 | # This file is free software; the Free Software Foundation | 9516 | # This file is free software; the Free Software Foundation |
9422 | # gives unlimited permission to copy and/or distribute it, | 9517 | # gives unlimited permission to copy and/or distribute it, |
9423 | # with or without modifications, as long as this notice is preserved. | 9518 | # with or without modifications, as long as this notice is preserved. |
9424 | 9519 | ||
9425 | # serial 5 | ||
9426 | |||
9427 | # AM_SANITY_CHECK | 9520 | # AM_SANITY_CHECK |
9428 | # --------------- | 9521 | # --------------- |
9429 | AC_DEFUN([AM_SANITY_CHECK], | 9522 | AC_DEFUN([AM_SANITY_CHECK], |
9430 | [AC_MSG_CHECKING([whether build environment is sane]) | 9523 | [AC_MSG_CHECKING([whether build environment is sane]) |
9431 | # Just in case | ||
9432 | sleep 1 | ||
9433 | echo timestamp > conftest.file | ||
9434 | # Reject unsafe characters in $srcdir or the absolute working directory | 9524 | # Reject unsafe characters in $srcdir or the absolute working directory |
9435 | # name. Accept space and tab only in the latter. | 9525 | # name. Accept space and tab only in the latter. |
9436 | am_lf=' | 9526 | am_lf=' |
@@ -9441,32 +9531,40 @@ case `pwd` in | |||
9441 | esac | 9531 | esac |
9442 | case $srcdir in | 9532 | case $srcdir in |
9443 | *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) | 9533 | *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) |
9444 | AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; | 9534 | AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; |
9445 | esac | 9535 | esac |
9446 | 9536 | ||
9447 | # Do `set' in a subshell so we don't clobber the current shell's | 9537 | # Do 'set' in a subshell so we don't clobber the current shell's |
9448 | # arguments. Must try -L first in case configure is actually a | 9538 | # arguments. Must try -L first in case configure is actually a |
9449 | # symlink; some systems play weird games with the mod time of symlinks | 9539 | # symlink; some systems play weird games with the mod time of symlinks |
9450 | # (eg FreeBSD returns the mod time of the symlink's containing | 9540 | # (eg FreeBSD returns the mod time of the symlink's containing |
9451 | # directory). | 9541 | # directory). |
9452 | if ( | 9542 | if ( |
9453 | set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` | 9543 | am_has_slept=no |
9454 | if test "$[*]" = "X"; then | 9544 | for am_try in 1 2; do |
9455 | # -L didn't work. | 9545 | echo "timestamp, slept: $am_has_slept" > conftest.file |
9456 | set X `ls -t "$srcdir/configure" conftest.file` | 9546 | set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` |
9457 | fi | 9547 | if test "$[*]" = "X"; then |
9458 | rm -f conftest.file | 9548 | # -L didn't work. |
9459 | if test "$[*]" != "X $srcdir/configure conftest.file" \ | 9549 | set X `ls -t "$srcdir/configure" conftest.file` |
9460 | && test "$[*]" != "X conftest.file $srcdir/configure"; then | 9550 | fi |
9461 | 9551 | if test "$[*]" != "X $srcdir/configure conftest.file" \ | |
9462 | # If neither matched, then we have a broken ls. This can happen | 9552 | && test "$[*]" != "X conftest.file $srcdir/configure"; then |
9463 | # if, for instance, CONFIG_SHELL is bash and it inherits a | 9553 | |
9464 | # broken ls alias from the environment. This has actually | 9554 | # If neither matched, then we have a broken ls. This can happen |
9465 | # happened. Such a system could not be considered "sane". | 9555 | # if, for instance, CONFIG_SHELL is bash and it inherits a |
9466 | AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken | 9556 | # broken ls alias from the environment. This has actually |
9467 | alias in your environment]) | 9557 | # happened. Such a system could not be considered "sane". |
9468 | fi | 9558 | AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken |
9469 | 9559 | alias in your environment]) | |
9560 | fi | ||
9561 | if test "$[2]" = conftest.file || test $am_try -eq 2; then | ||
9562 | break | ||
9563 | fi | ||
9564 | # Just in case. | ||
9565 | sleep 1 | ||
9566 | am_has_slept=yes | ||
9567 | done | ||
9470 | test "$[2]" = conftest.file | 9568 | test "$[2]" = conftest.file |
9471 | ) | 9569 | ) |
9472 | then | 9570 | then |
@@ -9476,73 +9574,118 @@ else | |||
9476 | AC_MSG_ERROR([newly created file is older than distributed files! | 9574 | AC_MSG_ERROR([newly created file is older than distributed files! |
9477 | Check your system clock]) | 9575 | Check your system clock]) |
9478 | fi | 9576 | fi |
9479 | AC_MSG_RESULT(yes)]) | 9577 | AC_MSG_RESULT([yes]) |
9578 | # If we didn't sleep, we still need to ensure time stamps of config.status and | ||
9579 | # generated files are strictly newer. | ||
9580 | am_sleep_pid= | ||
9581 | if grep 'slept: no' conftest.file >/dev/null 2>&1; then | ||
9582 | ( sleep 1 ) & | ||
9583 | am_sleep_pid=$! | ||
9584 | fi | ||
9585 | AC_CONFIG_COMMANDS_PRE( | ||
9586 | [AC_MSG_CHECKING([that generated files are newer than configure]) | ||
9587 | if test -n "$am_sleep_pid"; then | ||
9588 | # Hide warnings about reused PIDs. | ||
9589 | wait $am_sleep_pid 2>/dev/null | ||
9590 | fi | ||
9591 | AC_MSG_RESULT([done])]) | ||
9592 | rm -f conftest.file | ||
9593 | ]) | ||
9480 | 9594 | ||
9481 | # Copyright (C) 2009 Free Software Foundation, Inc. | 9595 | # Copyright (C) 2009-2013 Free Software Foundation, Inc. |
9482 | # | 9596 | # |
9483 | # This file is free software; the Free Software Foundation | 9597 | # This file is free software; the Free Software Foundation |
9484 | # gives unlimited permission to copy and/or distribute it, | 9598 | # gives unlimited permission to copy and/or distribute it, |
9485 | # with or without modifications, as long as this notice is preserved. | 9599 | # with or without modifications, as long as this notice is preserved. |
9486 | 9600 | ||
9487 | # serial 1 | ||
9488 | |||
9489 | # AM_SILENT_RULES([DEFAULT]) | 9601 | # AM_SILENT_RULES([DEFAULT]) |
9490 | # -------------------------- | 9602 | # -------------------------- |
9491 | # Enable less verbose build rules; with the default set to DEFAULT | 9603 | # Enable less verbose build rules; with the default set to DEFAULT |
9492 | # (`yes' being less verbose, `no' or empty being verbose). | 9604 | # ("yes" being less verbose, "no" or empty being verbose). |
9493 | AC_DEFUN([AM_SILENT_RULES], | 9605 | AC_DEFUN([AM_SILENT_RULES], |
9494 | [AC_ARG_ENABLE([silent-rules], | 9606 | [AC_ARG_ENABLE([silent-rules], [dnl |
9495 | [ --enable-silent-rules less verbose build output (undo: `make V=1') | 9607 | AS_HELP_STRING( |
9496 | --disable-silent-rules verbose build output (undo: `make V=0')]) | 9608 | [--enable-silent-rules], |
9497 | case $enable_silent_rules in | 9609 | [less verbose build output (undo: "make V=1")]) |
9498 | yes) AM_DEFAULT_VERBOSITY=0;; | 9610 | AS_HELP_STRING( |
9499 | no) AM_DEFAULT_VERBOSITY=1;; | 9611 | [--disable-silent-rules], |
9500 | *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; | 9612 | [verbose build output (undo: "make V=0")])dnl |
9613 | ]) | ||
9614 | case $enable_silent_rules in @%:@ ((( | ||
9615 | yes) AM_DEFAULT_VERBOSITY=0;; | ||
9616 | no) AM_DEFAULT_VERBOSITY=1;; | ||
9617 | *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; | ||
9501 | esac | 9618 | esac |
9619 | dnl | ||
9620 | dnl A few 'make' implementations (e.g., NonStop OS and NextStep) | ||
9621 | dnl do not support nested variable expansions. | ||
9622 | dnl See automake bug#9928 and bug#10237. | ||
9623 | am_make=${MAKE-make} | ||
9624 | AC_CACHE_CHECK([whether $am_make supports nested variables], | ||
9625 | [am_cv_make_support_nested_variables], | ||
9626 | [if AS_ECHO([['TRUE=$(BAR$(V)) | ||
9627 | BAR0=false | ||
9628 | BAR1=true | ||
9629 | V=1 | ||
9630 | am__doit: | ||
9631 | @$(TRUE) | ||
9632 | .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then | ||
9633 | am_cv_make_support_nested_variables=yes | ||
9634 | else | ||
9635 | am_cv_make_support_nested_variables=no | ||
9636 | fi]) | ||
9637 | if test $am_cv_make_support_nested_variables = yes; then | ||
9638 | dnl Using '$V' instead of '$(V)' breaks IRIX make. | ||
9639 | AM_V='$(V)' | ||
9640 | AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' | ||
9641 | else | ||
9642 | AM_V=$AM_DEFAULT_VERBOSITY | ||
9643 | AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY | ||
9644 | fi | ||
9645 | AC_SUBST([AM_V])dnl | ||
9646 | AM_SUBST_NOTMAKE([AM_V])dnl | ||
9647 | AC_SUBST([AM_DEFAULT_V])dnl | ||
9648 | AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl | ||
9502 | AC_SUBST([AM_DEFAULT_VERBOSITY])dnl | 9649 | AC_SUBST([AM_DEFAULT_VERBOSITY])dnl |
9503 | AM_BACKSLASH='\' | 9650 | AM_BACKSLASH='\' |
9504 | AC_SUBST([AM_BACKSLASH])dnl | 9651 | AC_SUBST([AM_BACKSLASH])dnl |
9505 | _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl | 9652 | _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl |
9506 | ]) | 9653 | ]) |
9507 | 9654 | ||
9508 | # Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. | 9655 | # Copyright (C) 2001-2013 Free Software Foundation, Inc. |
9509 | # | 9656 | # |
9510 | # This file is free software; the Free Software Foundation | 9657 | # This file is free software; the Free Software Foundation |
9511 | # gives unlimited permission to copy and/or distribute it, | 9658 | # gives unlimited permission to copy and/or distribute it, |
9512 | # with or without modifications, as long as this notice is preserved. | 9659 | # with or without modifications, as long as this notice is preserved. |
9513 | 9660 | ||
9514 | # serial 1 | ||
9515 | |||
9516 | # AM_PROG_INSTALL_STRIP | 9661 | # AM_PROG_INSTALL_STRIP |
9517 | # --------------------- | 9662 | # --------------------- |
9518 | # One issue with vendor `install' (even GNU) is that you can't | 9663 | # One issue with vendor 'install' (even GNU) is that you can't |
9519 | # specify the program used to strip binaries. This is especially | 9664 | # specify the program used to strip binaries. This is especially |
9520 | # annoying in cross-compiling environments, where the build's strip | 9665 | # annoying in cross-compiling environments, where the build's strip |
9521 | # is unlikely to handle the host's binaries. | 9666 | # is unlikely to handle the host's binaries. |
9522 | # Fortunately install-sh will honor a STRIPPROG variable, so we | 9667 | # Fortunately install-sh will honor a STRIPPROG variable, so we |
9523 | # always use install-sh in `make install-strip', and initialize | 9668 | # always use install-sh in "make install-strip", and initialize |
9524 | # STRIPPROG with the value of the STRIP variable (set by the user). | 9669 | # STRIPPROG with the value of the STRIP variable (set by the user). |
9525 | AC_DEFUN([AM_PROG_INSTALL_STRIP], | 9670 | AC_DEFUN([AM_PROG_INSTALL_STRIP], |
9526 | [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl | 9671 | [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl |
9527 | # Installed binaries are usually stripped using `strip' when the user | 9672 | # Installed binaries are usually stripped using 'strip' when the user |
9528 | # run `make install-strip'. However `strip' might not be the right | 9673 | # run "make install-strip". However 'strip' might not be the right |
9529 | # tool to use in cross-compilation environments, therefore Automake | 9674 | # tool to use in cross-compilation environments, therefore Automake |
9530 | # will honor the `STRIP' environment variable to overrule this program. | 9675 | # will honor the 'STRIP' environment variable to overrule this program. |
9531 | dnl Don't test for $cross_compiling = yes, because it might be `maybe'. | 9676 | dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. |
9532 | if test "$cross_compiling" != no; then | 9677 | if test "$cross_compiling" != no; then |
9533 | AC_CHECK_TOOL([STRIP], [strip], :) | 9678 | AC_CHECK_TOOL([STRIP], [strip], :) |
9534 | fi | 9679 | fi |
9535 | INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" | 9680 | INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" |
9536 | AC_SUBST([INSTALL_STRIP_PROGRAM])]) | 9681 | AC_SUBST([INSTALL_STRIP_PROGRAM])]) |
9537 | 9682 | ||
9538 | # Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. | 9683 | # Copyright (C) 2006-2013 Free Software Foundation, Inc. |
9539 | # | 9684 | # |
9540 | # This file is free software; the Free Software Foundation | 9685 | # This file is free software; the Free Software Foundation |
9541 | # gives unlimited permission to copy and/or distribute it, | 9686 | # gives unlimited permission to copy and/or distribute it, |
9542 | # with or without modifications, as long as this notice is preserved. | 9687 | # with or without modifications, as long as this notice is preserved. |
9543 | 9688 | ||
9544 | # serial 3 | ||
9545 | |||
9546 | # _AM_SUBST_NOTMAKE(VARIABLE) | 9689 | # _AM_SUBST_NOTMAKE(VARIABLE) |
9547 | # --------------------------- | 9690 | # --------------------------- |
9548 | # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. | 9691 | # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. |
@@ -9556,18 +9699,16 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) | |||
9556 | 9699 | ||
9557 | # Check how to create a tarball. -*- Autoconf -*- | 9700 | # Check how to create a tarball. -*- Autoconf -*- |
9558 | 9701 | ||
9559 | # Copyright (C) 2004, 2005 Free Software Foundation, Inc. | 9702 | # Copyright (C) 2004-2013 Free Software Foundation, Inc. |
9560 | # | 9703 | # |
9561 | # This file is free software; the Free Software Foundation | 9704 | # This file is free software; the Free Software Foundation |
9562 | # gives unlimited permission to copy and/or distribute it, | 9705 | # gives unlimited permission to copy and/or distribute it, |
9563 | # with or without modifications, as long as this notice is preserved. | 9706 | # with or without modifications, as long as this notice is preserved. |
9564 | 9707 | ||
9565 | # serial 2 | ||
9566 | |||
9567 | # _AM_PROG_TAR(FORMAT) | 9708 | # _AM_PROG_TAR(FORMAT) |
9568 | # -------------------- | 9709 | # -------------------- |
9569 | # Check how to create a tarball in format FORMAT. | 9710 | # Check how to create a tarball in format FORMAT. |
9570 | # FORMAT should be one of `v7', `ustar', or `pax'. | 9711 | # FORMAT should be one of 'v7', 'ustar', or 'pax'. |
9571 | # | 9712 | # |
9572 | # Substitute a variable $(am__tar) that is a command | 9713 | # Substitute a variable $(am__tar) that is a command |
9573 | # writing to stdout a FORMAT-tarball containing the directory | 9714 | # writing to stdout a FORMAT-tarball containing the directory |
@@ -9577,75 +9718,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) | |||
9577 | # Substitute a variable $(am__untar) that extract such | 9718 | # Substitute a variable $(am__untar) that extract such |
9578 | # a tarball read from stdin. | 9719 | # a tarball read from stdin. |
9579 | # $(am__untar) < result.tar | 9720 | # $(am__untar) < result.tar |
9721 | # | ||
9580 | AC_DEFUN([_AM_PROG_TAR], | 9722 | AC_DEFUN([_AM_PROG_TAR], |
9581 | [# Always define AMTAR for backward compatibility. | 9723 | [# Always define AMTAR for backward compatibility. Yes, it's still used |
9582 | AM_MISSING_PROG([AMTAR], [tar]) | 9724 | # in the wild :-( We should find a proper way to deprecate it ... |
9583 | m4_if([$1], [v7], | 9725 | AC_SUBST([AMTAR], ['$${TAR-tar}']) |
9584 | [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], | 9726 | |
9585 | [m4_case([$1], [ustar],, [pax],, | 9727 | # We'll loop over all known methods to create a tar archive until one works. |
9586 | [m4_fatal([Unknown tar format])]) | ||
9587 | AC_MSG_CHECKING([how to create a $1 tar archive]) | ||
9588 | # Loop over all known methods to create a tar archive until one works. | ||
9589 | _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' | 9728 | _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' |
9590 | _am_tools=${am_cv_prog_tar_$1-$_am_tools} | ||
9591 | # Do not fold the above two line into one, because Tru64 sh and | ||
9592 | # Solaris sh will not grok spaces in the rhs of `-'. | ||
9593 | for _am_tool in $_am_tools | ||
9594 | do | ||
9595 | case $_am_tool in | ||
9596 | gnutar) | ||
9597 | for _am_tar in tar gnutar gtar; | ||
9598 | do | ||
9599 | AM_RUN_LOG([$_am_tar --version]) && break | ||
9600 | done | ||
9601 | am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' | ||
9602 | am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' | ||
9603 | am__untar="$_am_tar -xf -" | ||
9604 | ;; | ||
9605 | plaintar) | ||
9606 | # Must skip GNU tar: if it does not support --format= it doesn't create | ||
9607 | # ustar tarball either. | ||
9608 | (tar --version) >/dev/null 2>&1 && continue | ||
9609 | am__tar='tar chf - "$$tardir"' | ||
9610 | am__tar_='tar chf - "$tardir"' | ||
9611 | am__untar='tar xf -' | ||
9612 | ;; | ||
9613 | pax) | ||
9614 | am__tar='pax -L -x $1 -w "$$tardir"' | ||
9615 | am__tar_='pax -L -x $1 -w "$tardir"' | ||
9616 | am__untar='pax -r' | ||
9617 | ;; | ||
9618 | cpio) | ||
9619 | am__tar='find "$$tardir" -print | cpio -o -H $1 -L' | ||
9620 | am__tar_='find "$tardir" -print | cpio -o -H $1 -L' | ||
9621 | am__untar='cpio -i -H $1 -d' | ||
9622 | ;; | ||
9623 | none) | ||
9624 | am__tar=false | ||
9625 | am__tar_=false | ||
9626 | am__untar=false | ||
9627 | ;; | ||
9628 | esac | ||
9629 | 9729 | ||
9630 | # If the value was cached, stop now. We just wanted to have am__tar | 9730 | m4_if([$1], [v7], |
9631 | # and am__untar set. | 9731 | [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], |
9632 | test -n "${am_cv_prog_tar_$1}" && break | 9732 | |
9733 | [m4_case([$1], | ||
9734 | [ustar], | ||
9735 | [# The POSIX 1988 'ustar' format is defined with fixed-size fields. | ||
9736 | # There is notably a 21 bits limit for the UID and the GID. In fact, | ||
9737 | # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 | ||
9738 | # and bug#13588). | ||
9739 | am_max_uid=2097151 # 2^21 - 1 | ||
9740 | am_max_gid=$am_max_uid | ||
9741 | # The $UID and $GID variables are not portable, so we need to resort | ||
9742 | # to the POSIX-mandated id(1) utility. Errors in the 'id' calls | ||
9743 | # below are definitely unexpected, so allow the users to see them | ||
9744 | # (that is, avoid stderr redirection). | ||
9745 | am_uid=`id -u || echo unknown` | ||
9746 | am_gid=`id -g || echo unknown` | ||
9747 | AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) | ||
9748 | if test $am_uid -le $am_max_uid; then | ||
9749 | AC_MSG_RESULT([yes]) | ||
9750 | else | ||
9751 | AC_MSG_RESULT([no]) | ||
9752 | _am_tools=none | ||
9753 | fi | ||
9754 | AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) | ||
9755 | if test $am_gid -le $am_max_gid; then | ||
9756 | AC_MSG_RESULT([yes]) | ||
9757 | else | ||
9758 | AC_MSG_RESULT([no]) | ||
9759 | _am_tools=none | ||
9760 | fi], | ||
9761 | |||
9762 | [pax], | ||
9763 | [], | ||
9633 | 9764 | ||
9634 | # tar/untar a dummy directory, and stop if the command works | 9765 | [m4_fatal([Unknown tar format])]) |
9635 | rm -rf conftest.dir | 9766 | |
9636 | mkdir conftest.dir | 9767 | AC_MSG_CHECKING([how to create a $1 tar archive]) |
9637 | echo GrepMe > conftest.dir/file | 9768 | |
9638 | AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) | 9769 | # Go ahead even if we have the value already cached. We do so because we |
9770 | # need to set the values for the 'am__tar' and 'am__untar' variables. | ||
9771 | _am_tools=${am_cv_prog_tar_$1-$_am_tools} | ||
9772 | |||
9773 | for _am_tool in $_am_tools; do | ||
9774 | case $_am_tool in | ||
9775 | gnutar) | ||
9776 | for _am_tar in tar gnutar gtar; do | ||
9777 | AM_RUN_LOG([$_am_tar --version]) && break | ||
9778 | done | ||
9779 | am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' | ||
9780 | am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' | ||
9781 | am__untar="$_am_tar -xf -" | ||
9782 | ;; | ||
9783 | plaintar) | ||
9784 | # Must skip GNU tar: if it does not support --format= it doesn't create | ||
9785 | # ustar tarball either. | ||
9786 | (tar --version) >/dev/null 2>&1 && continue | ||
9787 | am__tar='tar chf - "$$tardir"' | ||
9788 | am__tar_='tar chf - "$tardir"' | ||
9789 | am__untar='tar xf -' | ||
9790 | ;; | ||
9791 | pax) | ||
9792 | am__tar='pax -L -x $1 -w "$$tardir"' | ||
9793 | am__tar_='pax -L -x $1 -w "$tardir"' | ||
9794 | am__untar='pax -r' | ||
9795 | ;; | ||
9796 | cpio) | ||
9797 | am__tar='find "$$tardir" -print | cpio -o -H $1 -L' | ||
9798 | am__tar_='find "$tardir" -print | cpio -o -H $1 -L' | ||
9799 | am__untar='cpio -i -H $1 -d' | ||
9800 | ;; | ||
9801 | none) | ||
9802 | am__tar=false | ||
9803 | am__tar_=false | ||
9804 | am__untar=false | ||
9805 | ;; | ||
9806 | esac | ||
9807 | |||
9808 | # If the value was cached, stop now. We just wanted to have am__tar | ||
9809 | # and am__untar set. | ||
9810 | test -n "${am_cv_prog_tar_$1}" && break | ||
9811 | |||
9812 | # tar/untar a dummy directory, and stop if the command works. | ||
9813 | rm -rf conftest.dir | ||
9814 | mkdir conftest.dir | ||
9815 | echo GrepMe > conftest.dir/file | ||
9816 | AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) | ||
9817 | rm -rf conftest.dir | ||
9818 | if test -s conftest.tar; then | ||
9819 | AM_RUN_LOG([$am__untar <conftest.tar]) | ||
9820 | AM_RUN_LOG([cat conftest.dir/file]) | ||
9821 | grep GrepMe conftest.dir/file >/dev/null 2>&1 && break | ||
9822 | fi | ||
9823 | done | ||
9639 | rm -rf conftest.dir | 9824 | rm -rf conftest.dir |
9640 | if test -s conftest.tar; then | ||
9641 | AM_RUN_LOG([$am__untar <conftest.tar]) | ||
9642 | grep GrepMe conftest.dir/file >/dev/null 2>&1 && break | ||
9643 | fi | ||
9644 | done | ||
9645 | rm -rf conftest.dir | ||
9646 | 9825 | ||
9647 | AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) | 9826 | AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) |
9648 | AC_MSG_RESULT([$am_cv_prog_tar_$1])]) | 9827 | AC_MSG_RESULT([$am_cv_prog_tar_$1])]) |
9828 | |||
9649 | AC_SUBST([am__tar]) | 9829 | AC_SUBST([am__tar]) |
9650 | AC_SUBST([am__untar]) | 9830 | AC_SUBST([am__untar]) |
9651 | ]) # _AM_PROG_TAR | 9831 | ]) # _AM_PROG_TAR |
diff --git a/gs/jpeg/ansi2knr.1 b/gs/jpeg/ansi2knr.1 deleted file mode 100644 index f9ee5a631..000000000 --- a/gs/jpeg/ansi2knr.1 +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | .TH ANSI2KNR 1 "19 Jan 1996" | ||
2 | .SH NAME | ||
3 | ansi2knr \- convert ANSI C to Kernighan & Ritchie C | ||
4 | .SH SYNOPSIS | ||
5 | .I ansi2knr | ||
6 | [--varargs] input_file [output_file] | ||
7 | .SH DESCRIPTION | ||
8 | If no output_file is supplied, output goes to stdout. | ||
9 | .br | ||
10 | There are no error messages. | ||
11 | .sp | ||
12 | .I ansi2knr | ||
13 | recognizes function definitions by seeing a non-keyword identifier at the left | ||
14 | margin, followed by a left parenthesis, with a right parenthesis as the last | ||
15 | character on the line, and with a left brace as the first token on the | ||
16 | following line (ignoring possible intervening comments). It will recognize a | ||
17 | multi-line header provided that no intervening line ends with a left or right | ||
18 | brace or a semicolon. These algorithms ignore whitespace and comments, except | ||
19 | that the function name must be the first thing on the line. | ||
20 | .sp | ||
21 | The following constructs will confuse it: | ||
22 | .br | ||
23 | - Any other construct that starts at the left margin and follows the | ||
24 | above syntax (such as a macro or function call). | ||
25 | .br | ||
26 | - Some macros that tinker with the syntax of the function header. | ||
27 | .sp | ||
28 | The --varargs switch is obsolete, and is recognized only for | ||
29 | backwards compatibility. The present version of | ||
30 | .I ansi2knr | ||
31 | will always attempt to convert a ... argument to va_alist and va_dcl. | ||
32 | .SH AUTHOR | ||
33 | L. Peter Deutsch <ghost@aladdin.com> wrote the original ansi2knr and | ||
34 | continues to maintain the current version; most of the code in the current | ||
35 | version is his work. ansi2knr also includes contributions by Francois | ||
36 | Pinard <pinard@iro.umontreal.ca> and Jim Avera <jima@netcom.com>. | ||
diff --git a/gs/jpeg/ansi2knr.c b/gs/jpeg/ansi2knr.c deleted file mode 100644 index e84c210b6..000000000 --- a/gs/jpeg/ansi2knr.c +++ /dev/null | |||
@@ -1,739 +0,0 @@ | |||
1 | /* Copyright (C) 1989, 2000 Aladdin Enterprises. All rights reserved. */ | ||
2 | |||
3 | /*$Id: ansi2knr.c,v 1.14 2003/09/06 05:36:56 eggert Exp $*/ | ||
4 | /* Convert ANSI C function definitions to K&R ("traditional C") syntax */ | ||
5 | |||
6 | /* | ||
7 | ansi2knr is distributed in the hope that it will be useful, but WITHOUT ANY | ||
8 | WARRANTY. No author or distributor accepts responsibility to anyone for the | ||
9 | consequences of using it or for whether it serves any particular purpose or | ||
10 | works at all, unless he says so in writing. Refer to the GNU General Public | ||
11 | License (the "GPL") for full details. | ||
12 | |||
13 | Everyone is granted permission to copy, modify and redistribute ansi2knr, | ||
14 | but only under the conditions described in the GPL. A copy of this license | ||
15 | is supposed to have been given to you along with ansi2knr so you can know | ||
16 | your rights and responsibilities. It should be in a file named COPYLEFT, | ||
17 | or, if there is no file named COPYLEFT, a file named COPYING. Among other | ||
18 | things, the copyright notice and this notice must be preserved on all | ||
19 | copies. | ||
20 | |||
21 | We explicitly state here what we believe is already implied by the GPL: if | ||
22 | the ansi2knr program is distributed as a separate set of sources and a | ||
23 | separate executable file which are aggregated on a storage medium together | ||
24 | with another program, this in itself does not bring the other program under | ||
25 | the GPL, nor does the mere fact that such a program or the procedures for | ||
26 | constructing it invoke the ansi2knr executable bring any other part of the | ||
27 | program under the GPL. | ||
28 | */ | ||
29 | |||
30 | /* | ||
31 | * Usage: | ||
32 | ansi2knr [--filename FILENAME] [INPUT_FILE [OUTPUT_FILE]] | ||
33 | * --filename provides the file name for the #line directive in the output, | ||
34 | * overriding input_file (if present). | ||
35 | * If no input_file is supplied, input is read from stdin. | ||
36 | * If no output_file is supplied, output goes to stdout. | ||
37 | * There are no error messages. | ||
38 | * | ||
39 | * ansi2knr recognizes function definitions by seeing a non-keyword | ||
40 | * identifier at the left margin, followed by a left parenthesis, with a | ||
41 | * right parenthesis as the last character on the line, and with a left | ||
42 | * brace as the first token on the following line (ignoring possible | ||
43 | * intervening comments and/or preprocessor directives), except that a line | ||
44 | * consisting of only | ||
45 | * identifier1(identifier2) | ||
46 | * will not be considered a function definition unless identifier2 is | ||
47 | * the word "void", and a line consisting of | ||
48 | * identifier1(identifier2, <<arbitrary>>) | ||
49 | * will not be considered a function definition. | ||
50 | * ansi2knr will recognize a multi-line header provided that no intervening | ||
51 | * line ends with a left or right brace or a semicolon. These algorithms | ||
52 | * ignore whitespace, comments, and preprocessor directives, except that | ||
53 | * the function name must be the first thing on the line. The following | ||
54 | * constructs will confuse it: | ||
55 | * - Any other construct that starts at the left margin and | ||
56 | * follows the above syntax (such as a macro or function call). | ||
57 | * - Some macros that tinker with the syntax of function headers. | ||
58 | */ | ||
59 | |||
60 | /* | ||
61 | * The original and principal author of ansi2knr is L. Peter Deutsch | ||
62 | * <ghost@aladdin.com>. Other authors are noted in the change history | ||
63 | * that follows (in reverse chronological order): | ||
64 | |||
65 | lpd 2000-04-12 backs out Eggert's changes because of bugs: | ||
66 | - concatlits didn't declare the type of its bufend argument; | ||
67 | - concatlits didn't recognize when it was inside a comment; | ||
68 | - scanstring could scan backward past the beginning of the string; when | ||
69 | - the check for \ + newline in scanstring was unnecessary. | ||
70 | |||
71 | 2000-03-05 Paul Eggert <eggert@twinsun.com> | ||
72 | |||
73 | Add support for concatenated string literals. | ||
74 | * ansi2knr.c (concatlits): New decl. | ||
75 | (main): Invoke concatlits to concatenate string literals. | ||
76 | (scanstring): Handle backslash-newline correctly. Work with | ||
77 | character constants. Fix bug when scanning backwards through | ||
78 | backslash-quote. Check for unterminated strings. | ||
79 | (convert1): Parse character constants, too. | ||
80 | (appendline, concatlits): New functions. | ||
81 | * ansi2knr.1: Document this. | ||
82 | |||
83 | lpd 1999-08-17 added code to allow preprocessor directives | ||
84 | wherever comments are allowed | ||
85 | lpd 1999-04-12 added minor fixes from Pavel Roskin | ||
86 | <pavel_roskin@geocities.com> for clean compilation with | ||
87 | gcc -W -Wall | ||
88 | lpd 1999-03-22 added hack to recognize lines consisting of | ||
89 | identifier1(identifier2, xxx) as *not* being procedures | ||
90 | lpd 1999-02-03 made indentation of preprocessor commands consistent | ||
91 | lpd 1999-01-28 fixed two bugs: a '/' in an argument list caused an | ||
92 | endless loop; quoted strings within an argument list | ||
93 | confused the parser | ||
94 | lpd 1999-01-24 added a check for write errors on the output, | ||
95 | suggested by Jim Meyering <meyering@ascend.com> | ||
96 | lpd 1998-11-09 added further hack to recognize identifier(void) | ||
97 | as being a procedure | ||
98 | lpd 1998-10-23 added hack to recognize lines consisting of | ||
99 | identifier1(identifier2) as *not* being procedures | ||
100 | lpd 1997-12-08 made input_file optional; only closes input and/or | ||
101 | output file if not stdin or stdout respectively; prints | ||
102 | usage message on stderr rather than stdout; adds | ||
103 | --filename switch (changes suggested by | ||
104 | <ceder@lysator.liu.se>) | ||
105 | lpd 1996-01-21 added code to cope with not HAVE_CONFIG_H and with | ||
106 | compilers that don't understand void, as suggested by | ||
107 | Tom Lane | ||
108 | lpd 1996-01-15 changed to require that the first non-comment token | ||
109 | on the line following a function header be a left brace, | ||
110 | to reduce sensitivity to macros, as suggested by Tom Lane | ||
111 | <tgl@sss.pgh.pa.us> | ||
112 | lpd 1995-06-22 removed #ifndefs whose sole purpose was to define | ||
113 | undefined preprocessor symbols as 0; changed all #ifdefs | ||
114 | for configuration symbols to #ifs | ||
115 | lpd 1995-04-05 changed copyright notice to make it clear that | ||
116 | including ansi2knr in a program does not bring the entire | ||
117 | program under the GPL | ||
118 | lpd 1994-12-18 added conditionals for systems where ctype macros | ||
119 | don't handle 8-bit characters properly, suggested by | ||
120 | Francois Pinard <pinard@iro.umontreal.ca>; | ||
121 | removed --varargs switch (this is now the default) | ||
122 | lpd 1994-10-10 removed CONFIG_BROKETS conditional | ||
123 | lpd 1994-07-16 added some conditionals to help GNU `configure', | ||
124 | suggested by Francois Pinard <pinard@iro.umontreal.ca>; | ||
125 | properly erase prototype args in function parameters, | ||
126 | contributed by Jim Avera <jima@netcom.com>; | ||
127 | correct error in writeblanks (it shouldn't erase EOLs) | ||
128 | lpd 1989-xx-xx original version | ||
129 | */ | ||
130 | |||
131 | /* Most of the conditionals here are to make ansi2knr work with */ | ||
132 | /* or without the GNU configure machinery. */ | ||
133 | |||
134 | #if HAVE_CONFIG_H | ||
135 | # include <config.h> | ||
136 | #endif | ||
137 | |||
138 | #include <stdio.h> | ||
139 | #include <ctype.h> | ||
140 | |||
141 | #if HAVE_CONFIG_H | ||
142 | |||
143 | /* | ||
144 | For properly autoconfiguring ansi2knr, use AC_CONFIG_HEADER(config.h). | ||
145 | This will define HAVE_CONFIG_H and so, activate the following lines. | ||
146 | */ | ||
147 | |||
148 | # if STDC_HEADERS || HAVE_STRING_H | ||
149 | # include <string.h> | ||
150 | # else | ||
151 | # include <strings.h> | ||
152 | # endif | ||
153 | |||
154 | #else /* not HAVE_CONFIG_H */ | ||
155 | |||
156 | /* Otherwise do it the hard way */ | ||
157 | |||
158 | # ifdef BSD | ||
159 | # include <strings.h> | ||
160 | # else | ||
161 | # ifdef VMS | ||
162 | extern int strlen(), strncmp(); | ||
163 | # else | ||
164 | # include <string.h> | ||
165 | # endif | ||
166 | # endif | ||
167 | |||
168 | #endif /* not HAVE_CONFIG_H */ | ||
169 | |||
170 | #if STDC_HEADERS | ||
171 | # include <stdlib.h> | ||
172 | #else | ||
173 | /* | ||
174 | malloc and free should be declared in stdlib.h, | ||
175 | but if you've got a K&R compiler, they probably aren't. | ||
176 | */ | ||
177 | # ifdef MSDOS | ||
178 | # include <malloc.h> | ||
179 | # else | ||
180 | # ifdef VMS | ||
181 | extern char *malloc(); | ||
182 | extern void free(); | ||
183 | # else | ||
184 | extern char *malloc(); | ||
185 | extern int free(); | ||
186 | # endif | ||
187 | # endif | ||
188 | |||
189 | #endif | ||
190 | |||
191 | /* Define NULL (for *very* old compilers). */ | ||
192 | #ifndef NULL | ||
193 | # define NULL (0) | ||
194 | #endif | ||
195 | |||
196 | /* | ||
197 | * The ctype macros don't always handle 8-bit characters correctly. | ||
198 | * Compensate for this here. | ||
199 | */ | ||
200 | #ifdef isascii | ||
201 | # undef HAVE_ISASCII /* just in case */ | ||
202 | # define HAVE_ISASCII 1 | ||
203 | #else | ||
204 | #endif | ||
205 | #if STDC_HEADERS || !HAVE_ISASCII | ||
206 | # define is_ascii(c) 1 | ||
207 | #else | ||
208 | # define is_ascii(c) isascii(c) | ||
209 | #endif | ||
210 | |||
211 | #define is_space(c) (is_ascii(c) && isspace(c)) | ||
212 | #define is_alpha(c) (is_ascii(c) && isalpha(c)) | ||
213 | #define is_alnum(c) (is_ascii(c) && isalnum(c)) | ||
214 | |||
215 | /* Scanning macros */ | ||
216 | #define isidchar(ch) (is_alnum(ch) || (ch) == '_') | ||
217 | #define isidfirstchar(ch) (is_alpha(ch) || (ch) == '_') | ||
218 | |||
219 | /* Forward references */ | ||
220 | char *ppdirforward(); | ||
221 | char *ppdirbackward(); | ||
222 | char *skipspace(); | ||
223 | char *scanstring(); | ||
224 | int writeblanks(); | ||
225 | int test1(); | ||
226 | int convert1(); | ||
227 | |||
228 | /* The main program */ | ||
229 | int | ||
230 | main(argc, argv) | ||
231 | int argc; | ||
232 | char *argv[]; | ||
233 | { FILE *in = stdin; | ||
234 | FILE *out = stdout; | ||
235 | char *filename = 0; | ||
236 | char *program_name = argv[0]; | ||
237 | char *output_name = 0; | ||
238 | #define bufsize 5000 /* arbitrary size */ | ||
239 | char *buf; | ||
240 | char *line; | ||
241 | char *more; | ||
242 | char *usage = | ||
243 | "Usage: ansi2knr [--filename FILENAME] [INPUT_FILE [OUTPUT_FILE]]\n"; | ||
244 | /* | ||
245 | * In previous versions, ansi2knr recognized a --varargs switch. | ||
246 | * If this switch was supplied, ansi2knr would attempt to convert | ||
247 | * a ... argument to va_alist and va_dcl; if this switch was not | ||
248 | * supplied, ansi2knr would simply drop any such arguments. | ||
249 | * Now, ansi2knr always does this conversion, and we only | ||
250 | * check for this switch for backward compatibility. | ||
251 | */ | ||
252 | int convert_varargs = 1; | ||
253 | int output_error; | ||
254 | |||
255 | while ( argc > 1 && argv[1][0] == '-' ) { | ||
256 | if ( !strcmp(argv[1], "--varargs") ) { | ||
257 | convert_varargs = 1; | ||
258 | argc--; | ||
259 | argv++; | ||
260 | continue; | ||
261 | } | ||
262 | if ( !strcmp(argv[1], "--filename") && argc > 2 ) { | ||
263 | filename = argv[2]; | ||
264 | argc -= 2; | ||
265 | argv += 2; | ||
266 | continue; | ||
267 | } | ||
268 | fprintf(stderr, "%s: Unrecognized switch: %s\n", program_name, | ||
269 | argv[1]); | ||
270 | fprintf(stderr, usage); | ||
271 | exit(1); | ||
272 | } | ||
273 | switch ( argc ) | ||
274 | { | ||
275 | default: | ||
276 | fprintf(stderr, usage); | ||
277 | exit(0); | ||
278 | case 3: | ||
279 | output_name = argv[2]; | ||
280 | out = fopen(output_name, "w"); | ||
281 | if ( out == NULL ) { | ||
282 | fprintf(stderr, "%s: Cannot open output file %s\n", | ||
283 | program_name, output_name); | ||
284 | exit(1); | ||
285 | } | ||
286 | /* falls through */ | ||
287 | case 2: | ||
288 | in = fopen(argv[1], "r"); | ||
289 | if ( in == NULL ) { | ||
290 | fprintf(stderr, "%s: Cannot open input file %s\n", | ||
291 | program_name, argv[1]); | ||
292 | exit(1); | ||
293 | } | ||
294 | if ( filename == 0 ) | ||
295 | filename = argv[1]; | ||
296 | /* falls through */ | ||
297 | case 1: | ||
298 | break; | ||
299 | } | ||
300 | if ( filename ) | ||
301 | fprintf(out, "#line 1 \"%s\"\n", filename); | ||
302 | buf = malloc(bufsize); | ||
303 | if ( buf == NULL ) | ||
304 | { | ||
305 | fprintf(stderr, "Unable to allocate read buffer!\n"); | ||
306 | exit(1); | ||
307 | } | ||
308 | line = buf; | ||
309 | while ( fgets(line, (unsigned)(buf + bufsize - line), in) != NULL ) | ||
310 | { | ||
311 | test: line += strlen(line); | ||
312 | switch ( test1(buf) ) | ||
313 | { | ||
314 | case 2: /* a function header */ | ||
315 | convert1(buf, out, 1, convert_varargs); | ||
316 | break; | ||
317 | case 1: /* a function */ | ||
318 | /* Check for a { at the start of the next line. */ | ||
319 | more = ++line; | ||
320 | f: if ( line >= buf + (bufsize - 1) ) /* overflow check */ | ||
321 | goto wl; | ||
322 | if ( fgets(line, (unsigned)(buf + bufsize - line), in) == NULL ) | ||
323 | goto wl; | ||
324 | switch ( *skipspace(ppdirforward(more), 1) ) | ||
325 | { | ||
326 | case '{': | ||
327 | /* Definitely a function header. */ | ||
328 | convert1(buf, out, 0, convert_varargs); | ||
329 | fputs(more, out); | ||
330 | break; | ||
331 | case 0: | ||
332 | /* The next line was blank or a comment: */ | ||
333 | /* keep scanning for a non-comment. */ | ||
334 | line += strlen(line); | ||
335 | goto f; | ||
336 | default: | ||
337 | /* buf isn't a function header, but */ | ||
338 | /* more might be. */ | ||
339 | fputs(buf, out); | ||
340 | strcpy(buf, more); | ||
341 | line = buf; | ||
342 | goto test; | ||
343 | } | ||
344 | break; | ||
345 | case -1: /* maybe the start of a function */ | ||
346 | if ( line != buf + (bufsize - 1) ) /* overflow check */ | ||
347 | continue; | ||
348 | /* falls through */ | ||
349 | default: /* not a function */ | ||
350 | wl: fputs(buf, out); | ||
351 | break; | ||
352 | } | ||
353 | line = buf; | ||
354 | } | ||
355 | if ( line != buf ) | ||
356 | fputs(buf, out); | ||
357 | free(buf); | ||
358 | if ( output_name ) { | ||
359 | output_error = ferror(out); | ||
360 | output_error |= fclose(out); | ||
361 | } else { /* out == stdout */ | ||
362 | fflush(out); | ||
363 | output_error = ferror(out); | ||
364 | } | ||
365 | if ( output_error ) { | ||
366 | fprintf(stderr, "%s: error writing to %s\n", program_name, | ||
367 | (output_name ? output_name : "stdout")); | ||
368 | exit(1); | ||
369 | } | ||
370 | if ( in != stdin ) | ||
371 | fclose(in); | ||
372 | return 0; | ||
373 | } | ||
374 | |||
375 | /* | ||
376 | * Skip forward or backward over one or more preprocessor directives. | ||
377 | */ | ||
378 | char * | ||
379 | ppdirforward(p) | ||
380 | char *p; | ||
381 | { | ||
382 | for (; *p == '#'; ++p) { | ||
383 | for (; *p != '\r' && *p != '\n'; ++p) | ||
384 | if (*p == 0) | ||
385 | return p; | ||
386 | if (*p == '\r' && p[1] == '\n') | ||
387 | ++p; | ||
388 | } | ||
389 | return p; | ||
390 | } | ||
391 | char * | ||
392 | ppdirbackward(p, limit) | ||
393 | char *p; | ||
394 | char *limit; | ||
395 | { | ||
396 | char *np = p; | ||
397 | |||
398 | for (;; p = --np) { | ||
399 | if (*np == '\n' && np[-1] == '\r') | ||
400 | --np; | ||
401 | for (; np > limit && np[-1] != '\r' && np[-1] != '\n'; --np) | ||
402 | if (np[-1] == 0) | ||
403 | return np; | ||
404 | if (*np != '#') | ||
405 | return p; | ||
406 | } | ||
407 | } | ||
408 | |||
409 | /* | ||
410 | * Skip over whitespace, comments, and preprocessor directives, | ||
411 | * in either direction. | ||
412 | */ | ||
413 | char * | ||
414 | skipspace(p, dir) | ||
415 | char *p; | ||
416 | int dir; /* 1 for forward, -1 for backward */ | ||
417 | { | ||
418 | for ( ; ; ) { | ||
419 | while ( is_space(*p) ) | ||
420 | p += dir; | ||
421 | if ( !(*p == '/' && p[dir] == '*') ) | ||
422 | break; | ||
423 | p += dir; p += dir; | ||
424 | while ( !(*p == '*' && p[dir] == '/') ) { | ||
425 | if ( *p == 0 ) | ||
426 | return p; /* multi-line comment?? */ | ||
427 | p += dir; | ||
428 | } | ||
429 | p += dir; p += dir; | ||
430 | } | ||
431 | return p; | ||
432 | } | ||
433 | |||
434 | /* Scan over a quoted string, in either direction. */ | ||
435 | char * | ||
436 | scanstring(p, dir) | ||
437 | char *p; | ||
438 | int dir; | ||
439 | { | ||
440 | for (p += dir; ; p += dir) | ||
441 | if (*p == '"' && p[-dir] != '\\') | ||
442 | return p + dir; | ||
443 | } | ||
444 | |||
445 | /* | ||
446 | * Write blanks over part of a string. | ||
447 | * Don't overwrite end-of-line characters. | ||
448 | */ | ||
449 | int | ||
450 | writeblanks(start, end) | ||
451 | char *start; | ||
452 | char *end; | ||
453 | { char *p; | ||
454 | for ( p = start; p < end; p++ ) | ||
455 | if ( *p != '\r' && *p != '\n' ) | ||
456 | *p = ' '; | ||
457 | return 0; | ||
458 | } | ||
459 | |||
460 | /* | ||
461 | * Test whether the string in buf is a function definition. | ||
462 | * The string may contain and/or end with a newline. | ||
463 | * Return as follows: | ||
464 | * 0 - definitely not a function definition; | ||
465 | * 1 - definitely a function definition; | ||
466 | * 2 - definitely a function prototype (NOT USED); | ||
467 | * -1 - may be the beginning of a function definition, | ||
468 | * append another line and look again. | ||
469 | * The reason we don't attempt to convert function prototypes is that | ||
470 | * Ghostscript's declaration-generating macros look too much like | ||
471 | * prototypes, and confuse the algorithms. | ||
472 | */ | ||
473 | int | ||
474 | test1(buf) | ||
475 | char *buf; | ||
476 | { char *p = buf; | ||
477 | char *bend; | ||
478 | char *endfn; | ||
479 | int contin; | ||
480 | |||
481 | if ( !isidfirstchar(*p) ) | ||
482 | return 0; /* no name at left margin */ | ||
483 | bend = skipspace(ppdirbackward(buf + strlen(buf) - 1, buf), -1); | ||
484 | switch ( *bend ) | ||
485 | { | ||
486 | case ';': contin = 0 /*2*/; break; | ||
487 | case ')': contin = 1; break; | ||
488 | case '{': return 0; /* not a function */ | ||
489 | case '}': return 0; /* not a function */ | ||
490 | default: contin = -1; | ||
491 | } | ||
492 | while ( isidchar(*p) ) | ||
493 | p++; | ||
494 | endfn = p; | ||
495 | p = skipspace(p, 1); | ||
496 | if ( *p++ != '(' ) | ||
497 | return 0; /* not a function */ | ||
498 | p = skipspace(p, 1); | ||
499 | if ( *p == ')' ) | ||
500 | return 0; /* no parameters */ | ||
501 | /* Check that the apparent function name isn't a keyword. */ | ||
502 | /* We only need to check for keywords that could be followed */ | ||
503 | /* by a left parenthesis (which, unfortunately, is most of them). */ | ||
504 | { static char *words[] = | ||
505 | { "asm", "auto", "case", "char", "const", "double", | ||
506 | "extern", "float", "for", "if", "int", "long", | ||
507 | "register", "return", "short", "signed", "sizeof", | ||
508 | "static", "switch", "typedef", "unsigned", | ||
509 | "void", "volatile", "while", 0 | ||
510 | }; | ||
511 | char **key = words; | ||
512 | char *kp; | ||
513 | unsigned len = endfn - buf; | ||
514 | |||
515 | while ( (kp = *key) != 0 ) | ||
516 | { if ( strlen(kp) == len && !strncmp(kp, buf, len) ) | ||
517 | return 0; /* name is a keyword */ | ||
518 | key++; | ||
519 | } | ||
520 | } | ||
521 | { | ||
522 | char *id = p; | ||
523 | int len; | ||
524 | /* | ||
525 | * Check for identifier1(identifier2) and not | ||
526 | * identifier1(void), or identifier1(identifier2, xxxx). | ||
527 | */ | ||
528 | |||
529 | while ( isidchar(*p) ) | ||
530 | p++; | ||
531 | len = p - id; | ||
532 | p = skipspace(p, 1); | ||
533 | if (*p == ',' || | ||
534 | (*p == ')' && (len != 4 || strncmp(id, "void", 4))) | ||
535 | ) | ||
536 | return 0; /* not a function */ | ||
537 | } | ||
538 | /* | ||
539 | * If the last significant character was a ), we need to count | ||
540 | * parentheses, because it might be part of a formal parameter | ||
541 | * that is a procedure. | ||
542 | */ | ||
543 | if (contin > 0) { | ||
544 | int level = 0; | ||
545 | |||
546 | for (p = skipspace(buf, 1); *p; p = skipspace(p + 1, 1)) | ||
547 | level += (*p == '(' ? 1 : *p == ')' ? -1 : 0); | ||
548 | if (level > 0) | ||
549 | contin = -1; | ||
550 | } | ||
551 | return contin; | ||
552 | } | ||
553 | |||
554 | /* Convert a recognized function definition or header to K&R syntax. */ | ||
555 | int | ||
556 | convert1(buf, out, header, convert_varargs) | ||
557 | char *buf; | ||
558 | FILE *out; | ||
559 | int header; /* Boolean */ | ||
560 | int convert_varargs; /* Boolean */ | ||
561 | { char *endfn; | ||
562 | char *p; | ||
563 | /* | ||
564 | * The breaks table contains pointers to the beginning and end | ||
565 | * of each argument. | ||
566 | */ | ||
567 | char **breaks; | ||
568 | unsigned num_breaks = 2; /* for testing */ | ||
569 | char **btop; | ||
570 | char **bp; | ||
571 | char **ap; | ||
572 | char *vararg = 0; | ||
573 | |||
574 | /* Pre-ANSI implementations don't agree on whether strchr */ | ||
575 | /* is called strchr or index, so we open-code it here. */ | ||
576 | for ( endfn = buf; *(endfn++) != '('; ) | ||
577 | ; | ||
578 | top: p = endfn; | ||
579 | breaks = (char **)malloc(sizeof(char *) * num_breaks * 2); | ||
580 | if ( breaks == NULL ) | ||
581 | { /* Couldn't allocate break table, give up */ | ||
582 | fprintf(stderr, "Unable to allocate break table!\n"); | ||
583 | fputs(buf, out); | ||
584 | return -1; | ||
585 | } | ||
586 | btop = breaks + num_breaks * 2 - 2; | ||
587 | bp = breaks; | ||
588 | /* Parse the argument list */ | ||
589 | do | ||
590 | { int level = 0; | ||
591 | char *lp = NULL; | ||
592 | char *rp = NULL; | ||
593 | char *end = NULL; | ||
594 | |||
595 | if ( bp >= btop ) | ||
596 | { /* Filled up break table. */ | ||
597 | /* Allocate a bigger one and start over. */ | ||
598 | free((char *)breaks); | ||
599 | num_breaks <<= 1; | ||
600 | goto top; | ||
601 | } | ||
602 | *bp++ = p; | ||
603 | /* Find the end of the argument */ | ||
604 | for ( ; end == NULL; p++ ) | ||
605 | { switch(*p) | ||
606 | { | ||
607 | case ',': | ||
608 | if ( !level ) end = p; | ||
609 | break; | ||
610 | case '(': | ||
611 | if ( !level ) lp = p; | ||
612 | level++; | ||
613 | break; | ||
614 | case ')': | ||
615 | if ( --level < 0 ) end = p; | ||
616 | else rp = p; | ||
617 | break; | ||
618 | case '/': | ||
619 | if (p[1] == '*') | ||
620 | p = skipspace(p, 1) - 1; | ||
621 | break; | ||
622 | case '"': | ||
623 | p = scanstring(p, 1) - 1; | ||
624 | break; | ||
625 | default: | ||
626 | ; | ||
627 | } | ||
628 | } | ||
629 | /* Erase any embedded prototype parameters. */ | ||
630 | if ( lp && rp ) | ||
631 | writeblanks(lp + 1, rp); | ||
632 | p--; /* back up over terminator */ | ||
633 | /* Find the name being declared. */ | ||
634 | /* This is complicated because of procedure and */ | ||
635 | /* array modifiers. */ | ||
636 | for ( ; ; ) | ||
637 | { p = skipspace(p - 1, -1); | ||
638 | switch ( *p ) | ||
639 | { | ||
640 | case ']': /* skip array dimension(s) */ | ||
641 | case ')': /* skip procedure args OR name */ | ||
642 | { int level = 1; | ||
643 | while ( level ) | ||
644 | switch ( *--p ) | ||
645 | { | ||
646 | case ']': case ')': | ||
647 | level++; | ||
648 | break; | ||
649 | case '[': case '(': | ||
650 | level--; | ||
651 | break; | ||
652 | case '/': | ||
653 | if (p > buf && p[-1] == '*') | ||
654 | p = skipspace(p, -1) + 1; | ||
655 | break; | ||
656 | case '"': | ||
657 | p = scanstring(p, -1) + 1; | ||
658 | break; | ||
659 | default: ; | ||
660 | } | ||
661 | } | ||
662 | if ( *p == '(' && *skipspace(p + 1, 1) == '*' ) | ||
663 | { /* We found the name being declared */ | ||
664 | while ( !isidfirstchar(*p) ) | ||
665 | p = skipspace(p, 1) + 1; | ||
666 | goto found; | ||
667 | } | ||
668 | break; | ||
669 | default: | ||
670 | goto found; | ||
671 | } | ||
672 | } | ||
673 | found: if ( *p == '.' && p[-1] == '.' && p[-2] == '.' ) | ||
674 | { if ( convert_varargs ) | ||
675 | { *bp++ = "va_alist"; | ||
676 | vararg = p-2; | ||
677 | } | ||
678 | else | ||
679 | { p++; | ||
680 | if ( bp == breaks + 1 ) /* sole argument */ | ||
681 | writeblanks(breaks[0], p); | ||
682 | else | ||
683 | writeblanks(bp[-1] - 1, p); | ||
684 | bp--; | ||
685 | } | ||
686 | } | ||
687 | else | ||
688 | { while ( isidchar(*p) ) p--; | ||
689 | *bp++ = p+1; | ||
690 | } | ||
691 | p = end; | ||
692 | } | ||
693 | while ( *p++ == ',' ); | ||
694 | *bp = p; | ||
695 | /* Make a special check for 'void' arglist */ | ||
696 | if ( bp == breaks+2 ) | ||
697 | { p = skipspace(breaks[0], 1); | ||
698 | if ( !strncmp(p, "void", 4) ) | ||
699 | { p = skipspace(p+4, 1); | ||
700 | if ( p == breaks[2] - 1 ) | ||
701 | { bp = breaks; /* yup, pretend arglist is empty */ | ||
702 | writeblanks(breaks[0], p + 1); | ||
703 | } | ||
704 | } | ||
705 | } | ||
706 | /* Put out the function name and left parenthesis. */ | ||
707 | p = buf; | ||
708 | while ( p != endfn ) putc(*p, out), p++; | ||
709 | /* Put out the declaration. */ | ||
710 | if ( header ) | ||
711 | { fputs(");", out); | ||
712 | for ( p = breaks[0]; *p; p++ ) | ||
713 | if ( *p == '\r' || *p == '\n' ) | ||
714 | putc(*p, out); | ||
715 | } | ||
716 | else | ||
717 | { for ( ap = breaks+1; ap < bp; ap += 2 ) | ||
718 | { p = *ap; | ||
719 | while ( isidchar(*p) ) | ||
720 | putc(*p, out), p++; | ||
721 | if ( ap < bp - 1 ) | ||
722 | fputs(", ", out); | ||
723 | } | ||
724 | fputs(") ", out); | ||
725 | /* Put out the argument declarations */ | ||
726 | for ( ap = breaks+2; ap <= bp; ap += 2 ) | ||
727 | (*ap)[-1] = ';'; | ||
728 | if ( vararg != 0 ) | ||
729 | { *vararg = 0; | ||
730 | fputs(breaks[0], out); /* any prior args */ | ||
731 | fputs("va_dcl", out); /* the final arg */ | ||
732 | fputs(bp[0], out); | ||
733 | } | ||
734 | else | ||
735 | fputs(breaks[0], out); | ||
736 | } | ||
737 | free((char *)breaks); | ||
738 | return 0; | ||
739 | } | ||
diff --git a/gs/jpeg/ar-lib b/gs/jpeg/ar-lib new file mode 100755 index 000000000..fe2301e71 --- /dev/null +++ b/gs/jpeg/ar-lib | |||
@@ -0,0 +1,270 @@ | |||
1 | #! /bin/sh | ||
2 | # Wrapper for Microsoft lib.exe | ||
3 | |||
4 | me=ar-lib | ||
5 | scriptversion=2012-03-01.08; # UTC | ||
6 | |||
7 | # Copyright (C) 2010-2013 Free Software Foundation, Inc. | ||
8 | # Written by Peter Rosin <peda@lysator.liu.se>. | ||
9 | # | ||
10 | # This program is free software; you can redistribute it and/or modify | ||
11 | # it under the terms of the GNU General Public License as published by | ||
12 | # the Free Software Foundation; either version 2, or (at your option) | ||
13 | # any later version. | ||
14 | # | ||
15 | # This program is distributed in the hope that it will be useful, | ||
16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | # GNU General Public License for more details. | ||
19 | # | ||
20 | # You should have received a copy of the GNU General Public License | ||
21 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
22 | |||
23 | # As a special exception to the GNU General Public License, if you | ||
24 | # distribute this file as part of a program that contains a | ||
25 | # configuration script generated by Autoconf, you may include it under | ||
26 | # the same distribution terms that you use for the rest of that program. | ||
27 | |||
28 | # This file is maintained in Automake, please report | ||
29 | # bugs to <bug-automake@gnu.org> or send patches to | ||
30 | # <automake-patches@gnu.org>. | ||
31 | |||
32 | |||
33 | # func_error message | ||
34 | func_error () | ||
35 | { | ||
36 | echo "$me: $1" 1>&2 | ||
37 | exit 1 | ||
38 | } | ||
39 | |||
40 | file_conv= | ||
41 | |||
42 | # func_file_conv build_file | ||
43 | # Convert a $build file to $host form and store it in $file | ||
44 | # Currently only supports Windows hosts. | ||
45 | func_file_conv () | ||
46 | { | ||
47 | file=$1 | ||
48 | case $file in | ||
49 | / | /[!/]*) # absolute file, and not a UNC file | ||
50 | if test -z "$file_conv"; then | ||
51 | # lazily determine how to convert abs files | ||
52 | case `uname -s` in | ||
53 | MINGW*) | ||
54 | file_conv=mingw | ||
55 | ;; | ||
56 | CYGWIN*) | ||
57 | file_conv=cygwin | ||
58 | ;; | ||
59 | *) | ||
60 | file_conv=wine | ||
61 | ;; | ||
62 | esac | ||
63 | fi | ||
64 | case $file_conv in | ||
65 | mingw) | ||
66 | file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` | ||
67 | ;; | ||
68 | cygwin) | ||
69 | file=`cygpath -m "$file" || echo "$file"` | ||
70 | ;; | ||
71 | wine) | ||
72 | file=`winepath -w "$file" || echo "$file"` | ||
73 | ;; | ||
74 | esac | ||
75 | ;; | ||
76 | esac | ||
77 | } | ||
78 | |||
79 | # func_at_file at_file operation archive | ||
80 | # Iterate over all members in AT_FILE performing OPERATION on ARCHIVE | ||
81 | # for each of them. | ||
82 | # When interpreting the content of the @FILE, do NOT use func_file_conv, | ||
83 | # since the user would need to supply preconverted file names to | ||
84 | # binutils ar, at least for MinGW. | ||
85 | func_at_file () | ||
86 | { | ||
87 | operation=$2 | ||
88 | archive=$3 | ||
89 | at_file_contents=`cat "$1"` | ||
90 | eval set x "$at_file_contents" | ||
91 | shift | ||
92 | |||
93 | for member | ||
94 | do | ||
95 | $AR -NOLOGO $operation:"$member" "$archive" || exit $? | ||
96 | done | ||
97 | } | ||
98 | |||
99 | case $1 in | ||
100 | '') | ||
101 | func_error "no command. Try '$0 --help' for more information." | ||
102 | ;; | ||
103 | -h | --h*) | ||
104 | cat <<EOF | ||
105 | Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...] | ||
106 | |||
107 | Members may be specified in a file named with @FILE. | ||
108 | EOF | ||
109 | exit $? | ||
110 | ;; | ||
111 | -v | --v*) | ||
112 | echo "$me, version $scriptversion" | ||
113 | exit $? | ||
114 | ;; | ||
115 | esac | ||
116 | |||
117 | if test $# -lt 3; then | ||
118 | func_error "you must specify a program, an action and an archive" | ||
119 | fi | ||
120 | |||
121 | AR=$1 | ||
122 | shift | ||
123 | while : | ||
124 | do | ||
125 | if test $# -lt 2; then | ||
126 | func_error "you must specify a program, an action and an archive" | ||
127 | fi | ||
128 | case $1 in | ||
129 | -lib | -LIB \ | ||
130 | | -ltcg | -LTCG \ | ||
131 | | -machine* | -MACHINE* \ | ||
132 | | -subsystem* | -SUBSYSTEM* \ | ||
133 | | -verbose | -VERBOSE \ | ||
134 | | -wx* | -WX* ) | ||
135 | AR="$AR $1" | ||
136 | shift | ||
137 | ;; | ||
138 | *) | ||
139 | action=$1 | ||
140 | shift | ||
141 | break | ||
142 | ;; | ||
143 | esac | ||
144 | done | ||
145 | orig_archive=$1 | ||
146 | shift | ||
147 | func_file_conv "$orig_archive" | ||
148 | archive=$file | ||
149 | |||
150 | # strip leading dash in $action | ||
151 | action=${action#-} | ||
152 | |||
153 | delete= | ||
154 | extract= | ||
155 | list= | ||
156 | quick= | ||
157 | replace= | ||
158 | index= | ||
159 | create= | ||
160 | |||
161 | while test -n "$action" | ||
162 | do | ||
163 | case $action in | ||
164 | d*) delete=yes ;; | ||
165 | x*) extract=yes ;; | ||
166 | t*) list=yes ;; | ||
167 | q*) quick=yes ;; | ||
168 | r*) replace=yes ;; | ||
169 | s*) index=yes ;; | ||
170 | S*) ;; # the index is always updated implicitly | ||
171 | c*) create=yes ;; | ||
172 | u*) ;; # TODO: don't ignore the update modifier | ||
173 | v*) ;; # TODO: don't ignore the verbose modifier | ||
174 | *) | ||
175 | func_error "unknown action specified" | ||
176 | ;; | ||
177 | esac | ||
178 | action=${action#?} | ||
179 | done | ||
180 | |||
181 | case $delete$extract$list$quick$replace,$index in | ||
182 | yes,* | ,yes) | ||
183 | ;; | ||
184 | yesyes*) | ||
185 | func_error "more than one action specified" | ||
186 | ;; | ||
187 | *) | ||
188 | func_error "no action specified" | ||
189 | ;; | ||
190 | esac | ||
191 | |||
192 | if test -n "$delete"; then | ||
193 | if test ! -f "$orig_archive"; then | ||
194 | func_error "archive not found" | ||
195 | fi | ||
196 | for member | ||
197 | do | ||
198 | case $1 in | ||
199 | @*) | ||
200 | func_at_file "${1#@}" -REMOVE "$archive" | ||
201 | ;; | ||
202 | *) | ||
203 | func_file_conv "$1" | ||
204 | $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $? | ||
205 | ;; | ||
206 | esac | ||
207 | done | ||
208 | |||
209 | elif test -n "$extract"; then | ||
210 | if test ! -f "$orig_archive"; then | ||
211 | func_error "archive not found" | ||
212 | fi | ||
213 | if test $# -gt 0; then | ||
214 | for member | ||
215 | do | ||
216 | case $1 in | ||
217 | @*) | ||
218 | func_at_file "${1#@}" -EXTRACT "$archive" | ||
219 | ;; | ||
220 | *) | ||
221 | func_file_conv "$1" | ||
222 | $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $? | ||
223 | ;; | ||
224 | esac | ||
225 | done | ||
226 | else | ||
227 | $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member | ||
228 | do | ||
229 | $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? | ||
230 | done | ||
231 | fi | ||
232 | |||
233 | elif test -n "$quick$replace"; then | ||
234 | if test ! -f "$orig_archive"; then | ||
235 | if test -z "$create"; then | ||
236 | echo "$me: creating $orig_archive" | ||
237 | fi | ||
238 | orig_archive= | ||
239 | else | ||
240 | orig_archive=$archive | ||
241 | fi | ||
242 | |||
243 | for member | ||
244 | do | ||
245 | case $1 in | ||
246 | @*) | ||
247 | func_file_conv "${1#@}" | ||
248 | set x "$@" "@$file" | ||
249 | ;; | ||
250 | *) | ||
251 | func_file_conv "$1" | ||
252 | set x "$@" "$file" | ||
253 | ;; | ||
254 | esac | ||
255 | shift | ||
256 | shift | ||
257 | done | ||
258 | |||
259 | if test -n "$orig_archive"; then | ||
260 | $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $? | ||
261 | else | ||
262 | $AR -NOLOGO -OUT:"$archive" "$@" || exit $? | ||
263 | fi | ||
264 | |||
265 | elif test -n "$list"; then | ||
266 | if test ! -f "$orig_archive"; then | ||
267 | func_error "archive not found" | ||
268 | fi | ||
269 | $AR -NOLOGO -LIST "$archive" || exit $? | ||
270 | fi | ||
diff --git a/gs/jpeg/change.log b/gs/jpeg/change.log index 729bca6cf..97cde1d43 100644 --- a/gs/jpeg/change.log +++ b/gs/jpeg/change.log | |||
@@ -1,6 +1,69 @@ | |||
1 | CHANGE LOG for Independent JPEG Group's JPEG software | 1 | CHANGE LOG for Independent JPEG Group's JPEG software |
2 | 2 | ||
3 | 3 | ||
4 | Version 9a 19-Jan-2014 | ||
5 | ----------------------- | ||
6 | |||
7 | Add support for wide gamut color spaces (JFIF version 2). | ||
8 | Improve clarity and accuracy in color conversion modules. | ||
9 | Note: Requires rebuild of test images. | ||
10 | |||
11 | Extend the bit depth support to all values from 8 to 12 | ||
12 | (BITS_IN_JSAMPLE configuration option in jmorecfg.h). | ||
13 | jpegtran now supports N bits sample data precision with all N from 8 to 12 | ||
14 | in a single instance. Thank to Roland Fassauer for inspiration. | ||
15 | |||
16 | Try to resolve issues with new boolean type definition. | ||
17 | Thank also to v4hn for suggestion. | ||
18 | |||
19 | Enable option to use default Huffman tables for lossless compression | ||
20 | (for hardware solution), and in this case improve lossless RGB compression | ||
21 | with reversible color transform. Thank to Benny Alexandar for hint. | ||
22 | |||
23 | Extend the entropy decoding structure, so that extraneous bytes between | ||
24 | compressed scan data and following marker can be reported correctly. | ||
25 | Thank to Nigel Tao for hint. | ||
26 | |||
27 | Add jpegtran -wipe option and extension for -crop. | ||
28 | Thank to Andrew Senior, David Clunie, and Josef Schmid for suggestion. | ||
29 | |||
30 | |||
31 | Version 9 13-Jan-2013 | ||
32 | ---------------------- | ||
33 | |||
34 | Add cjpeg -rgb1 option to create an RGB JPEG file, and insert | ||
35 | a simple reversible color transform into the processing which | ||
36 | significantly improves the compression. | ||
37 | The recommended command for lossless coding of RGB images is now | ||
38 | cjpeg -rgb1 -block 1 -arithmetic. | ||
39 | As said, this option improves the compression significantly, but | ||
40 | the files are not compatible with JPEG decoders prior to IJG v9 | ||
41 | due to the included color transform. | ||
42 | The used color transform and marker signaling is compatible with | ||
43 | other JPEG standards (e.g., JPEG-LS part 2). | ||
44 | |||
45 | Remove the automatic de-ANSI-fication support (Automake 1.12). | ||
46 | Thank also to Nitin A Kamble for suggestion. | ||
47 | |||
48 | Add remark for jpeg_mem_dest() in jdatadst.c. | ||
49 | Thank to Elie-Gregoire Khoury for the hint. | ||
50 | |||
51 | Support files with invalid component identifiers (created | ||
52 | by Adobe PDF). Thank to Robin Watts for the suggestion. | ||
53 | |||
54 | Adapt full buffer case in jcmainct.c for use with scaled DCT. | ||
55 | Thank to Sergii Biloshytskyi for the suggestion. | ||
56 | |||
57 | Add type identifier for declaration of noreturn functions. | ||
58 | Thank to Brett L. Moore for the suggestion. | ||
59 | |||
60 | Correct argument type in format string, avoid compiler warnings. | ||
61 | Thank to Vincent Torri for hint. | ||
62 | |||
63 | Add missing #include directives in configuration checks, avoid | ||
64 | configuration errors. Thank to John Spencer for the hint. | ||
65 | |||
66 | |||
4 | Version 8d 15-Jan-2012 | 67 | Version 8d 15-Jan-2012 |
5 | ----------------------- | 68 | ----------------------- |
6 | 69 | ||
diff --git a/gs/jpeg/cjpeg.1 b/gs/jpeg/cjpeg.1 index c10f97126..8684331e9 100644 --- a/gs/jpeg/cjpeg.1 +++ b/gs/jpeg/cjpeg.1 | |||
@@ -1,4 +1,4 @@ | |||
1 | .TH CJPEG 1 "28 August 2011" | 1 | .TH CJPEG 1 "23 November 2013" |
2 | .SH NAME | 2 | .SH NAME |
3 | cjpeg \- compress an image file to a JPEG file | 3 | cjpeg \- compress an image file to a JPEG file |
4 | .SH SYNOPSIS | 4 | .SH SYNOPSIS |
@@ -53,9 +53,12 @@ you'll get a smaller JPEG file that takes less time to process. | |||
53 | Create RGB JPEG file. | 53 | Create RGB JPEG file. |
54 | Using this switch suppresses the conversion from RGB | 54 | Using this switch suppresses the conversion from RGB |
55 | colorspace input to the default YCbCr JPEG colorspace. | 55 | colorspace input to the default YCbCr JPEG colorspace. |
56 | Use this switch in combination with the | 56 | You can use this switch in combination with the |
57 | .BI \-block " N" | 57 | .BI \-block " N" |
58 | switch (see below) for lossless JPEG coding. | 58 | switch (see below) for lossless JPEG coding. |
59 | See also the | ||
60 | .B \-rgb1 | ||
61 | switch below. | ||
59 | .TP | 62 | .TP |
60 | .B \-optimize | 63 | .B \-optimize |
61 | Perform optimization of entropy encoding parameters. Without this, default | 64 | Perform optimization of entropy encoding parameters. Without this, default |
@@ -166,8 +169,8 @@ Switches for advanced users: | |||
166 | .B \-arithmetic | 169 | .B \-arithmetic |
167 | Use arithmetic coding. | 170 | Use arithmetic coding. |
168 | .B Caution: | 171 | .B Caution: |
169 | arithmetic coded JPEG is not yet widely implemented, so many decoders will be | 172 | arithmetic coded JPEG is not yet widely implemented, so many decoders will |
170 | unable to view an arithmetic coded JPEG file at all. | 173 | be unable to view an arithmetic coded JPEG file at all. |
171 | .TP | 174 | .TP |
172 | .BI \-block " N" | 175 | .BI \-block " N" |
173 | Set DCT block size. All N from 1 to 16 are possible. | 176 | Set DCT block size. All N from 1 to 16 are possible. |
@@ -181,6 +184,41 @@ An implementation of the JPEG SmartScale extension is required for this | |||
181 | feature. SmartScale enabled JPEG is not yet widely implemented, so many | 184 | feature. SmartScale enabled JPEG is not yet widely implemented, so many |
182 | decoders will be unable to view a SmartScale extended JPEG file at all. | 185 | decoders will be unable to view a SmartScale extended JPEG file at all. |
183 | .TP | 186 | .TP |
187 | .B \-rgb1 | ||
188 | Create RGB JPEG file with reversible color transform. | ||
189 | Works like the | ||
190 | .B \-rgb | ||
191 | switch (see above) and inserts a simple reversible color transform | ||
192 | into the processing which significantly improves the compression. | ||
193 | Use this switch in combination with the | ||
194 | .BI \-block " N" | ||
195 | switch (see above) for lossless JPEG coding. | ||
196 | .B Caution: | ||
197 | A decoder with inverse color transform support is required for | ||
198 | this feature. Reversible color transform support is not yet | ||
199 | widely implemented, so many decoders will be unable to view | ||
200 | a reversible color transformed JPEG file at all. | ||
201 | .TP | ||
202 | .B \-bgycc | ||
203 | Create big gamut YCC JPEG file. | ||
204 | In this type of encoding the color difference components are quantized | ||
205 | further by a factor of 2 compared to the normal Cb/Cr values, thus creating | ||
206 | space to allow larger color values with higher saturation than the normal | ||
207 | gamut limits to be encoded. In order to compensate for the loss of color | ||
208 | fidelity compared to a normal YCC encoded file, the color quantization | ||
209 | tables can be adjusted accordingly. For example, | ||
210 | .B cjpeg \-bgycc \-quality | ||
211 | 80,90 will give similar results as | ||
212 | .B cjpeg \-quality | ||
213 | 80. | ||
214 | .B Caution: | ||
215 | For correct decompression a decoder with big gamut YCC support (JFIF | ||
216 | version 2) is required. An old decoder may or may not display a big | ||
217 | gamut YCC encoded JPEG file, depending on JFIF version check and | ||
218 | corresponding warning/error configuration. In case of a granted | ||
219 | decompression the old decoder will display the image with half | ||
220 | saturated colors. | ||
221 | .TP | ||
184 | .B \-dct int | 222 | .B \-dct int |
185 | Use integer DCT method (default). | 223 | Use integer DCT method (default). |
186 | .TP | 224 | .TP |
@@ -337,7 +375,8 @@ Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. | |||
337 | .SH AUTHOR | 375 | .SH AUTHOR |
338 | Independent JPEG Group | 376 | Independent JPEG Group |
339 | .SH BUGS | 377 | .SH BUGS |
340 | GIF input files are no longer supported, to avoid the Unisys LZW patent. | 378 | GIF input files are no longer supported, to avoid the Unisys LZW patent |
379 | (now expired). | ||
341 | (Conversion of GIF files to JPEG is usually a bad idea anyway.) | 380 | (Conversion of GIF files to JPEG is usually a bad idea anyway.) |
342 | .PP | 381 | .PP |
343 | Not all variants of BMP and Targa file formats are supported. | 382 | Not all variants of BMP and Targa file formats are supported. |
diff --git a/gs/jpeg/cjpeg.c b/gs/jpeg/cjpeg.c index 9a9a09a72..3cb07fa4b 100644 --- a/gs/jpeg/cjpeg.c +++ b/gs/jpeg/cjpeg.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * cjpeg.c | 2 | * cjpeg.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1998, Thomas G. Lane. | 4 | * Copyright (C) 1991-1998, Thomas G. Lane. |
5 | * Modified 2003-2011 by Guido Vollbeding. | 5 | * Modified 2003-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -172,6 +172,10 @@ usage (void) | |||
172 | #ifdef DCT_SCALING_SUPPORTED | 172 | #ifdef DCT_SCALING_SUPPORTED |
173 | fprintf(stderr, " -block N DCT block size (1..16; default is 8)\n"); | 173 | fprintf(stderr, " -block N DCT block size (1..16; default is 8)\n"); |
174 | #endif | 174 | #endif |
175 | #if JPEG_LIB_VERSION_MAJOR >= 9 | ||
176 | fprintf(stderr, " -rgb1 Create RGB JPEG file with reversible color transform\n"); | ||
177 | fprintf(stderr, " -bgycc Create big gamut YCC JPEG file\n"); | ||
178 | #endif | ||
175 | #ifdef DCT_ISLOW_SUPPORTED | 179 | #ifdef DCT_ISLOW_SUPPORTED |
176 | fprintf(stderr, " -dct int Use integer DCT method%s\n", | 180 | fprintf(stderr, " -dct int Use integer DCT method%s\n", |
177 | (JDCT_DEFAULT == JDCT_ISLOW ? " (default)" : "")); | 181 | (JDCT_DEFAULT == JDCT_ISLOW ? " (default)" : "")); |
@@ -310,10 +314,27 @@ parse_switches (j_compress_ptr cinfo, int argc, char **argv, | |||
310 | /* Force a monochrome JPEG file to be generated. */ | 314 | /* Force a monochrome JPEG file to be generated. */ |
311 | jpeg_set_colorspace(cinfo, JCS_GRAYSCALE); | 315 | jpeg_set_colorspace(cinfo, JCS_GRAYSCALE); |
312 | 316 | ||
313 | } else if (keymatch(arg, "rgb", 3)) { | 317 | } else if (keymatch(arg, "rgb", 3) || keymatch(arg, "rgb1", 4)) { |
314 | /* Force an RGB JPEG file to be generated. */ | 318 | /* Force an RGB JPEG file to be generated. */ |
319 | #if JPEG_LIB_VERSION_MAJOR >= 9 | ||
320 | /* Note: Entropy table assignment in jpeg_set_colorspace depends | ||
321 | * on color_transform. | ||
322 | */ | ||
323 | cinfo->color_transform = arg[3] ? JCT_SUBTRACT_GREEN : JCT_NONE; | ||
324 | #endif | ||
315 | jpeg_set_colorspace(cinfo, JCS_RGB); | 325 | jpeg_set_colorspace(cinfo, JCS_RGB); |
316 | 326 | ||
327 | } else if (keymatch(arg, "bgycc", 5)) { | ||
328 | /* Force a big gamut YCC JPEG file to be generated. */ | ||
329 | #if JPEG_LIB_VERSION_MAJOR >= 9 && \ | ||
330 | (JPEG_LIB_VERSION_MAJOR > 9 || JPEG_LIB_VERSION_MINOR >= 1) | ||
331 | jpeg_set_colorspace(cinfo, JCS_BG_YCC); | ||
332 | #else | ||
333 | fprintf(stderr, "%s: sorry, BG_YCC colorspace not supported\n", | ||
334 | progname); | ||
335 | exit(EXIT_FAILURE); | ||
336 | #endif | ||
337 | |||
317 | } else if (keymatch(arg, "maxmemory", 3)) { | 338 | } else if (keymatch(arg, "maxmemory", 3)) { |
318 | /* Maximum memory in Kb (or Mb with 'm'). */ | 339 | /* Maximum memory in Kb (or Mb with 'm'). */ |
319 | long lval; | 340 | long lval; |
@@ -328,7 +349,7 @@ parse_switches (j_compress_ptr cinfo, int argc, char **argv, | |||
328 | cinfo->mem->max_memory_to_use = lval * 1000L; | 349 | cinfo->mem->max_memory_to_use = lval * 1000L; |
329 | 350 | ||
330 | } else if (keymatch(arg, "nosmooth", 3)) { | 351 | } else if (keymatch(arg, "nosmooth", 3)) { |
331 | /* Suppress fancy downsampling */ | 352 | /* Suppress fancy downsampling. */ |
332 | cinfo->do_fancy_downsampling = FALSE; | 353 | cinfo->do_fancy_downsampling = FALSE; |
333 | 354 | ||
334 | } else if (keymatch(arg, "optimize", 1) || keymatch(arg, "optimise", 1)) { | 355 | } else if (keymatch(arg, "optimize", 1) || keymatch(arg, "optimise", 1)) { |
@@ -414,7 +435,7 @@ parse_switches (j_compress_ptr cinfo, int argc, char **argv, | |||
414 | /* Scale the image by a fraction M/N. */ | 435 | /* Scale the image by a fraction M/N. */ |
415 | if (++argn >= argc) /* advance to next argument */ | 436 | if (++argn >= argc) /* advance to next argument */ |
416 | usage(); | 437 | usage(); |
417 | if (sscanf(argv[argn], "%d/%d", | 438 | if (sscanf(argv[argn], "%u/%u", |
418 | &cinfo->scale_num, &cinfo->scale_denom) != 2) | 439 | &cinfo->scale_num, &cinfo->scale_denom) != 2) |
419 | usage(); | 440 | usage(); |
420 | 441 | ||
diff --git a/gs/jpeg/compile b/gs/jpeg/compile new file mode 100755 index 000000000..531136b06 --- /dev/null +++ b/gs/jpeg/compile | |||
@@ -0,0 +1,347 @@ | |||
1 | #! /bin/sh | ||
2 | # Wrapper for compilers which do not understand '-c -o'. | ||
3 | |||
4 | scriptversion=2012-10-14.11; # UTC | ||
5 | |||
6 | # Copyright (C) 1999-2013 Free Software Foundation, Inc. | ||
7 | # Written by Tom Tromey <tromey@cygnus.com>. | ||
8 | # | ||
9 | # This program is free software; you can redistribute it and/or modify | ||
10 | # it under the terms of the GNU General Public License as published by | ||
11 | # the Free Software Foundation; either version 2, or (at your option) | ||
12 | # any later version. | ||
13 | # | ||
14 | # This program is distributed in the hope that it will be useful, | ||
15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | # GNU General Public License for more details. | ||
18 | # | ||
19 | # You should have received a copy of the GNU General Public License | ||
20 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
21 | |||
22 | # As a special exception to the GNU General Public License, if you | ||
23 | # distribute this file as part of a program that contains a | ||
24 | # configuration script generated by Autoconf, you may include it under | ||
25 | # the same distribution terms that you use for the rest of that program. | ||
26 | |||
27 | # This file is maintained in Automake, please report | ||
28 | # bugs to <bug-automake@gnu.org> or send patches to | ||
29 | # <automake-patches@gnu.org>. | ||
30 | |||
31 | nl=' | ||
32 | ' | ||
33 | |||
34 | # We need space, tab and new line, in precisely that order. Quoting is | ||
35 | # there to prevent tools from complaining about whitespace usage. | ||
36 | IFS=" "" $nl" | ||
37 | |||
38 | file_conv= | ||
39 | |||
40 | # func_file_conv build_file lazy | ||
41 | # Convert a $build file to $host form and store it in $file | ||
42 | # Currently only supports Windows hosts. If the determined conversion | ||
43 | # type is listed in (the comma separated) LAZY, no conversion will | ||
44 | # take place. | ||
45 | func_file_conv () | ||
46 | { | ||
47 | file=$1 | ||
48 | case $file in | ||
49 | / | /[!/]*) # absolute file, and not a UNC file | ||
50 | if test -z "$file_conv"; then | ||
51 | # lazily determine how to convert abs files | ||
52 | case `uname -s` in | ||
53 | MINGW*) | ||
54 | file_conv=mingw | ||
55 | ;; | ||
56 | CYGWIN*) | ||
57 | file_conv=cygwin | ||
58 | ;; | ||
59 | *) | ||
60 | file_conv=wine | ||
61 | ;; | ||
62 | esac | ||
63 | fi | ||
64 | case $file_conv/,$2, in | ||
65 | *,$file_conv,*) | ||
66 | ;; | ||
67 | mingw/*) | ||
68 | file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` | ||
69 | ;; | ||
70 | cygwin/*) | ||
71 | file=`cygpath -m "$file" || echo "$file"` | ||
72 | ;; | ||
73 | wine/*) | ||
74 | file=`winepath -w "$file" || echo "$file"` | ||
75 | ;; | ||
76 | esac | ||
77 | ;; | ||
78 | esac | ||
79 | } | ||
80 | |||
81 | # func_cl_dashL linkdir | ||
82 | # Make cl look for libraries in LINKDIR | ||
83 | func_cl_dashL () | ||
84 | { | ||
85 | func_file_conv "$1" | ||
86 | if test -z "$lib_path"; then | ||
87 | lib_path=$file | ||
88 | else | ||
89 | lib_path="$lib_path;$file" | ||
90 | fi | ||
91 | linker_opts="$linker_opts -LIBPATH:$file" | ||
92 | } | ||
93 | |||
94 | # func_cl_dashl library | ||
95 | # Do a library search-path lookup for cl | ||
96 | func_cl_dashl () | ||
97 | { | ||
98 | lib=$1 | ||
99 | found=no | ||
100 | save_IFS=$IFS | ||
101 | IFS=';' | ||
102 | for dir in $lib_path $LIB | ||
103 | do | ||
104 | IFS=$save_IFS | ||
105 | if $shared && test -f "$dir/$lib.dll.lib"; then | ||
106 | found=yes | ||
107 | lib=$dir/$lib.dll.lib | ||
108 | break | ||
109 | fi | ||
110 | if test -f "$dir/$lib.lib"; then | ||
111 | found=yes | ||
112 | lib=$dir/$lib.lib | ||
113 | break | ||
114 | fi | ||
115 | if test -f "$dir/lib$lib.a"; then | ||
116 | found=yes | ||
117 | lib=$dir/lib$lib.a | ||
118 | break | ||
119 | fi | ||
120 | done | ||
121 | IFS=$save_IFS | ||
122 | |||
123 | if test "$found" != yes; then | ||
124 | lib=$lib.lib | ||
125 | fi | ||
126 | } | ||
127 | |||
128 | # func_cl_wrapper cl arg... | ||
129 | # Adjust compile command to suit cl | ||
130 | func_cl_wrapper () | ||
131 | { | ||
132 | # Assume a capable shell | ||
133 | lib_path= | ||
134 | shared=: | ||
135 | linker_opts= | ||
136 | for arg | ||
137 | do | ||
138 | if test -n "$eat"; then | ||
139 | eat= | ||
140 | else | ||
141 | case $1 in | ||
142 | -o) | ||
143 | # configure might choose to run compile as 'compile cc -o foo foo.c'. | ||
144 | eat=1 | ||
145 | case $2 in | ||
146 | *.o | *.[oO][bB][jJ]) | ||
147 | func_file_conv "$2" | ||
148 | set x "$@" -Fo"$file" | ||
149 | shift | ||
150 | ;; | ||
151 | *) | ||
152 | func_file_conv "$2" | ||
153 | set x "$@" -Fe"$file" | ||
154 | shift | ||
155 | ;; | ||
156 | esac | ||
157 | ;; | ||
158 | -I) | ||
159 | eat=1 | ||
160 | func_file_conv "$2" mingw | ||
161 | set x "$@" -I"$file" | ||
162 | shift | ||
163 | ;; | ||
164 | -I*) | ||
165 | func_file_conv "${1#-I}" mingw | ||
166 | set x "$@" -I"$file" | ||
167 | shift | ||
168 | ;; | ||
169 | -l) | ||
170 | eat=1 | ||
171 | func_cl_dashl "$2" | ||
172 | set x "$@" "$lib" | ||
173 | shift | ||
174 | ;; | ||
175 | -l*) | ||
176 | func_cl_dashl "${1#-l}" | ||
177 | set x "$@" "$lib" | ||
178 | shift | ||
179 | ;; | ||
180 | -L) | ||
181 | eat=1 | ||
182 | func_cl_dashL "$2" | ||
183 | ;; | ||
184 | -L*) | ||
185 | func_cl_dashL "${1#-L}" | ||
186 | ;; | ||
187 | -static) | ||
188 | shared=false | ||
189 | ;; | ||
190 | -Wl,*) | ||
191 | arg=${1#-Wl,} | ||
192 | save_ifs="$IFS"; IFS=',' | ||
193 | for flag in $arg; do | ||
194 | IFS="$save_ifs" | ||
195 | linker_opts="$linker_opts $flag" | ||
196 | done | ||
197 | IFS="$save_ifs" | ||
198 | ;; | ||
199 | -Xlinker) | ||
200 | eat=1 | ||
201 | linker_opts="$linker_opts $2" | ||
202 | ;; | ||
203 | -*) | ||
204 | set x "$@" "$1" | ||
205 | shift | ||
206 | ;; | ||
207 | *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) | ||
208 | func_file_conv "$1" | ||
209 | set x "$@" -Tp"$file" | ||
210 | shift | ||
211 | ;; | ||
212 | *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) | ||
213 | func_file_conv "$1" mingw | ||
214 | set x "$@" "$file" | ||
215 | shift | ||
216 | ;; | ||
217 | *) | ||
218 | set x "$@" "$1" | ||
219 | shift | ||
220 | ;; | ||
221 | esac | ||
222 | fi | ||
223 | shift | ||
224 | done | ||
225 | if test -n "$linker_opts"; then | ||
226 | linker_opts="-link$linker_opts" | ||
227 | fi | ||
228 | exec "$@" $linker_opts | ||
229 | exit 1 | ||
230 | } | ||
231 | |||
232 | eat= | ||
233 | |||
234 | case $1 in | ||
235 | '') | ||
236 | echo "$0: No command. Try '$0 --help' for more information." 1>&2 | ||
237 | exit 1; | ||
238 | ;; | ||
239 | -h | --h*) | ||
240 | cat <<\EOF | ||
241 | Usage: compile [--help] [--version] PROGRAM [ARGS] | ||
242 | |||
243 | Wrapper for compilers which do not understand '-c -o'. | ||
244 | Remove '-o dest.o' from ARGS, run PROGRAM with the remaining | ||
245 | arguments, and rename the output as expected. | ||
246 | |||
247 | If you are trying to build a whole package this is not the | ||
248 | right script to run: please start by reading the file 'INSTALL'. | ||
249 | |||
250 | Report bugs to <bug-automake@gnu.org>. | ||
251 | EOF | ||
252 | exit $? | ||
253 | ;; | ||
254 | -v | --v*) | ||
255 | echo "compile $scriptversion" | ||
256 | exit $? | ||
257 | ;; | ||
258 | cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) | ||
259 | func_cl_wrapper "$@" # Doesn't return... | ||
260 | ;; | ||
261 | esac | ||
262 | |||
263 | ofile= | ||
264 | cfile= | ||
265 | |||
266 | for arg | ||
267 | do | ||
268 | if test -n "$eat"; then | ||
269 | eat= | ||
270 | else | ||
271 | case $1 in | ||
272 | -o) | ||
273 | # configure might choose to run compile as 'compile cc -o foo foo.c'. | ||
274 | # So we strip '-o arg' only if arg is an object. | ||
275 | eat=1 | ||
276 | case $2 in | ||
277 | *.o | *.obj) | ||
278 | ofile=$2 | ||
279 | ;; | ||
280 | *) | ||
281 | set x "$@" -o "$2" | ||
282 | shift | ||
283 | ;; | ||
284 | esac | ||
285 | ;; | ||
286 | *.c) | ||
287 | cfile=$1 | ||
288 | set x "$@" "$1" | ||
289 | shift | ||
290 | ;; | ||
291 | *) | ||
292 | set x "$@" "$1" | ||
293 | shift | ||
294 | ;; | ||
295 | esac | ||
296 | fi | ||
297 | shift | ||
298 | done | ||
299 | |||
300 | if test -z "$ofile" || test -z "$cfile"; then | ||
301 | # If no '-o' option was seen then we might have been invoked from a | ||
302 | # pattern rule where we don't need one. That is ok -- this is a | ||
303 | # normal compilation that the losing compiler can handle. If no | ||
304 | # '.c' file was seen then we are probably linking. That is also | ||
305 | # ok. | ||
306 | exec "$@" | ||
307 | fi | ||
308 | |||
309 | # Name of file we expect compiler to create. | ||
310 | cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` | ||
311 | |||
312 | # Create the lock directory. | ||
313 | # Note: use '[/\\:.-]' here to ensure that we don't use the same name | ||
314 | # that we are using for the .o file. Also, base the name on the expected | ||
315 | # object file name, since that is what matters with a parallel build. | ||
316 | lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d | ||
317 | while true; do | ||
318 | if mkdir "$lockdir" >/dev/null 2>&1; then | ||
319 | break | ||
320 | fi | ||
321 | sleep 1 | ||
322 | done | ||
323 | # FIXME: race condition here if user kills between mkdir and trap. | ||
324 | trap "rmdir '$lockdir'; exit 1" 1 2 15 | ||
325 | |||
326 | # Run the compile. | ||
327 | "$@" | ||
328 | ret=$? | ||
329 | |||
330 | if test -f "$cofile"; then | ||
331 | test "$cofile" = "$ofile" || mv "$cofile" "$ofile" | ||
332 | elif test -f "${cofile}bj"; then | ||
333 | test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" | ||
334 | fi | ||
335 | |||
336 | rmdir "$lockdir" | ||
337 | exit $ret | ||
338 | |||
339 | # Local Variables: | ||
340 | # mode: shell-script | ||
341 | # sh-indentation: 2 | ||
342 | # eval: (add-hook 'write-file-hooks 'time-stamp) | ||
343 | # time-stamp-start: "scriptversion=" | ||
344 | # time-stamp-format: "%:y-%02m-%02d.%02H" | ||
345 | # time-stamp-time-zone: "UTC" | ||
346 | # time-stamp-end: "; # UTC" | ||
347 | # End: | ||
diff --git a/gs/jpeg/config.guess b/gs/jpeg/config.guess index 8152efd67..9afd67620 100755 --- a/gs/jpeg/config.guess +++ b/gs/jpeg/config.guess | |||
@@ -1,14 +1,12 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Attempt to guess a canonical system name. | 2 | # Attempt to guess a canonical system name. |
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | 3 | # Copyright 1992-2013 Free Software Foundation, Inc. |
4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, | ||
5 | # 2011 Free Software Foundation, Inc. | ||
6 | 4 | ||
7 | timestamp='2011-11-11' | 5 | timestamp='2013-11-29' |
8 | 6 | ||
9 | # This file is free software; you can redistribute it and/or modify it | 7 | # This file is free software; you can redistribute it and/or modify it |
10 | # under the terms of the GNU General Public License as published by | 8 | # under the terms of the GNU General Public License as published by |
11 | # the Free Software Foundation; either version 2 of the License, or | 9 | # the Free Software Foundation; either version 3 of the License, or |
12 | # (at your option) any later version. | 10 | # (at your option) any later version. |
13 | # | 11 | # |
14 | # This program is distributed in the hope that it will be useful, but | 12 | # This program is distributed in the hope that it will be useful, but |
@@ -17,26 +15,22 @@ timestamp='2011-11-11' | |||
17 | # General Public License for more details. | 15 | # General Public License for more details. |
18 | # | 16 | # |
19 | # You should have received a copy of the GNU General Public License | 17 | # You should have received a copy of the GNU General Public License |
20 | # along with this program; if not, write to the Free Software | 18 | # along with this program; if not, see <http://www.gnu.org/licenses/>. |
21 | # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA | ||
22 | # 02110-1301, USA. | ||
23 | # | 19 | # |
24 | # As a special exception to the GNU General Public License, if you | 20 | # As a special exception to the GNU General Public License, if you |
25 | # distribute this file as part of a program that contains a | 21 | # distribute this file as part of a program that contains a |
26 | # configuration script generated by Autoconf, you may include it under | 22 | # configuration script generated by Autoconf, you may include it under |
27 | # the same distribution terms that you use for the rest of that program. | 23 | # the same distribution terms that you use for the rest of that |
28 | 24 | # program. This Exception is an additional permission under section 7 | |
29 | 25 | # of the GNU General Public License, version 3 ("GPLv3"). | |
30 | # Originally written by Per Bothner. Please send patches (context | ||
31 | # diff format) to <config-patches@gnu.org> and include a ChangeLog | ||
32 | # entry. | ||
33 | # | 26 | # |
34 | # This script attempts to guess a canonical system name similar to | 27 | # Originally written by Per Bothner. |
35 | # config.sub. If it succeeds, it prints the system name on stdout, and | ||
36 | # exits with 0. Otherwise, it exits with 1. | ||
37 | # | 28 | # |
38 | # You can get the latest version of this script from: | 29 | # You can get the latest version of this script from: |
39 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD | 30 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD |
31 | # | ||
32 | # Please send patches with a ChangeLog entry to config-patches@gnu.org. | ||
33 | |||
40 | 34 | ||
41 | me=`echo "$0" | sed -e 's,.*/,,'` | 35 | me=`echo "$0" | sed -e 's,.*/,,'` |
42 | 36 | ||
@@ -56,9 +50,7 @@ version="\ | |||
56 | GNU config.guess ($timestamp) | 50 | GNU config.guess ($timestamp) |
57 | 51 | ||
58 | Originally written by Per Bothner. | 52 | Originally written by Per Bothner. |
59 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, | 53 | Copyright 1992-2013 Free Software Foundation, Inc. |
60 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free | ||
61 | Software Foundation, Inc. | ||
62 | 54 | ||
63 | This is free software; see the source for copying conditions. There is NO | 55 | This is free software; see the source for copying conditions. There is NO |
64 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 56 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
@@ -140,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown | |||
140 | UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown | 132 | UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown |
141 | UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown | 133 | UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown |
142 | 134 | ||
135 | case "${UNAME_SYSTEM}" in | ||
136 | Linux|GNU|GNU/*) | ||
137 | # If the system lacks a compiler, then just pick glibc. | ||
138 | # We could probably try harder. | ||
139 | LIBC=gnu | ||
140 | |||
141 | eval $set_cc_for_build | ||
142 | cat <<-EOF > $dummy.c | ||
143 | #include <features.h> | ||
144 | #if defined(__UCLIBC__) | ||
145 | LIBC=uclibc | ||
146 | #elif defined(__dietlibc__) | ||
147 | LIBC=dietlibc | ||
148 | #else | ||
149 | LIBC=gnu | ||
150 | #endif | ||
151 | EOF | ||
152 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` | ||
153 | ;; | ||
154 | esac | ||
155 | |||
143 | # Note: order is significant - the case branches are not exclusive. | 156 | # Note: order is significant - the case branches are not exclusive. |
144 | 157 | ||
145 | case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | 158 | case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in |
146 | *:NetBSD:*:*) | 159 | *:NetBSD:*:*) |
147 | # NetBSD (nbsd) targets should (where applicable) match one or | 160 | # NetBSD (nbsd) targets should (where applicable) match one or |
148 | # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, | 161 | # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, |
149 | # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently | 162 | # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently |
150 | # switched to ELF, *-*-netbsd* would select the old | 163 | # switched to ELF, *-*-netbsd* would select the old |
151 | # object file format. This provides both forward | 164 | # object file format. This provides both forward |
@@ -202,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
202 | # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. | 215 | # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. |
203 | echo "${machine}-${os}${release}" | 216 | echo "${machine}-${os}${release}" |
204 | exit ;; | 217 | exit ;; |
218 | *:Bitrig:*:*) | ||
219 | UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` | ||
220 | echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} | ||
221 | exit ;; | ||
205 | *:OpenBSD:*:*) | 222 | *:OpenBSD:*:*) |
206 | UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` | 223 | UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` |
207 | echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} | 224 | echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} |
@@ -304,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
304 | arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) | 321 | arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) |
305 | echo arm-acorn-riscix${UNAME_RELEASE} | 322 | echo arm-acorn-riscix${UNAME_RELEASE} |
306 | exit ;; | 323 | exit ;; |
307 | arm:riscos:*:*|arm:RISCOS:*:*) | 324 | arm*:riscos:*:*|arm*:RISCOS:*:*) |
308 | echo arm-unknown-riscos | 325 | echo arm-unknown-riscos |
309 | exit ;; | 326 | exit ;; |
310 | SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) | 327 | SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) |
@@ -803,6 +820,9 @@ EOF | |||
803 | i*:CYGWIN*:*) | 820 | i*:CYGWIN*:*) |
804 | echo ${UNAME_MACHINE}-pc-cygwin | 821 | echo ${UNAME_MACHINE}-pc-cygwin |
805 | exit ;; | 822 | exit ;; |
823 | *:MINGW64*:*) | ||
824 | echo ${UNAME_MACHINE}-pc-mingw64 | ||
825 | exit ;; | ||
806 | *:MINGW*:*) | 826 | *:MINGW*:*) |
807 | echo ${UNAME_MACHINE}-pc-mingw32 | 827 | echo ${UNAME_MACHINE}-pc-mingw32 |
808 | exit ;; | 828 | exit ;; |
@@ -854,15 +874,22 @@ EOF | |||
854 | exit ;; | 874 | exit ;; |
855 | *:GNU:*:*) | 875 | *:GNU:*:*) |
856 | # the GNU system | 876 | # the GNU system |
857 | echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` | 877 | echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` |
858 | exit ;; | 878 | exit ;; |
859 | *:GNU/*:*:*) | 879 | *:GNU/*:*:*) |
860 | # other systems with GNU libc and userland | 880 | # other systems with GNU libc and userland |
861 | echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu | 881 | echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} |
862 | exit ;; | 882 | exit ;; |
863 | i*86:Minix:*:*) | 883 | i*86:Minix:*:*) |
864 | echo ${UNAME_MACHINE}-pc-minix | 884 | echo ${UNAME_MACHINE}-pc-minix |
865 | exit ;; | 885 | exit ;; |
886 | aarch64:Linux:*:*) | ||
887 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | ||
888 | exit ;; | ||
889 | aarch64_be:Linux:*:*) | ||
890 | UNAME_MACHINE=aarch64_be | ||
891 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | ||
892 | exit ;; | ||
866 | alpha:Linux:*:*) | 893 | alpha:Linux:*:*) |
867 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in | 894 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in |
868 | EV5) UNAME_MACHINE=alphaev5 ;; | 895 | EV5) UNAME_MACHINE=alphaev5 ;; |
@@ -874,59 +901,54 @@ EOF | |||
874 | EV68*) UNAME_MACHINE=alphaev68 ;; | 901 | EV68*) UNAME_MACHINE=alphaev68 ;; |
875 | esac | 902 | esac |
876 | objdump --private-headers /bin/sh | grep -q ld.so.1 | 903 | objdump --private-headers /bin/sh | grep -q ld.so.1 |
877 | if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi | 904 | if test "$?" = 0 ; then LIBC="gnulibc1" ; fi |
878 | echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} | 905 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
906 | exit ;; | ||
907 | arc:Linux:*:* | arceb:Linux:*:*) | ||
908 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | ||
879 | exit ;; | 909 | exit ;; |
880 | arm*:Linux:*:*) | 910 | arm*:Linux:*:*) |
881 | eval $set_cc_for_build | 911 | eval $set_cc_for_build |
882 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | 912 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ |
883 | | grep -q __ARM_EABI__ | 913 | | grep -q __ARM_EABI__ |
884 | then | 914 | then |
885 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 915 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
886 | else | 916 | else |
887 | if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | 917 | if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ |
888 | | grep -q __ARM_PCS_VFP | 918 | | grep -q __ARM_PCS_VFP |
889 | then | 919 | then |
890 | echo ${UNAME_MACHINE}-unknown-linux-gnueabi | 920 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi |
891 | else | 921 | else |
892 | echo ${UNAME_MACHINE}-unknown-linux-gnueabihf | 922 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf |
893 | fi | 923 | fi |
894 | fi | 924 | fi |
895 | exit ;; | 925 | exit ;; |
896 | avr32*:Linux:*:*) | 926 | avr32*:Linux:*:*) |
897 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 927 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
898 | exit ;; | 928 | exit ;; |
899 | cris:Linux:*:*) | 929 | cris:Linux:*:*) |
900 | echo cris-axis-linux-gnu | 930 | echo ${UNAME_MACHINE}-axis-linux-${LIBC} |
901 | exit ;; | 931 | exit ;; |
902 | crisv32:Linux:*:*) | 932 | crisv32:Linux:*:*) |
903 | echo crisv32-axis-linux-gnu | 933 | echo ${UNAME_MACHINE}-axis-linux-${LIBC} |
904 | exit ;; | 934 | exit ;; |
905 | frv:Linux:*:*) | 935 | frv:Linux:*:*) |
906 | echo frv-unknown-linux-gnu | 936 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
907 | exit ;; | 937 | exit ;; |
908 | hexagon:Linux:*:*) | 938 | hexagon:Linux:*:*) |
909 | echo hexagon-unknown-linux-gnu | 939 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
910 | exit ;; | 940 | exit ;; |
911 | i*86:Linux:*:*) | 941 | i*86:Linux:*:*) |
912 | LIBC=gnu | 942 | echo ${UNAME_MACHINE}-pc-linux-${LIBC} |
913 | eval $set_cc_for_build | ||
914 | sed 's/^ //' << EOF >$dummy.c | ||
915 | #ifdef __dietlibc__ | ||
916 | LIBC=dietlibc | ||
917 | #endif | ||
918 | EOF | ||
919 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` | ||
920 | echo "${UNAME_MACHINE}-pc-linux-${LIBC}" | ||
921 | exit ;; | 943 | exit ;; |
922 | ia64:Linux:*:*) | 944 | ia64:Linux:*:*) |
923 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 945 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
924 | exit ;; | 946 | exit ;; |
925 | m32r*:Linux:*:*) | 947 | m32r*:Linux:*:*) |
926 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 948 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
927 | exit ;; | 949 | exit ;; |
928 | m68*:Linux:*:*) | 950 | m68*:Linux:*:*) |
929 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 951 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
930 | exit ;; | 952 | exit ;; |
931 | mips:Linux:*:* | mips64:Linux:*:*) | 953 | mips:Linux:*:* | mips64:Linux:*:*) |
932 | eval $set_cc_for_build | 954 | eval $set_cc_for_build |
@@ -945,54 +967,63 @@ EOF | |||
945 | #endif | 967 | #endif |
946 | EOF | 968 | EOF |
947 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` | 969 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` |
948 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } | 970 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } |
949 | ;; | 971 | ;; |
972 | or1k:Linux:*:*) | ||
973 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | ||
974 | exit ;; | ||
950 | or32:Linux:*:*) | 975 | or32:Linux:*:*) |
951 | echo or32-unknown-linux-gnu | 976 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
952 | exit ;; | 977 | exit ;; |
953 | padre:Linux:*:*) | 978 | padre:Linux:*:*) |
954 | echo sparc-unknown-linux-gnu | 979 | echo sparc-unknown-linux-${LIBC} |
955 | exit ;; | 980 | exit ;; |
956 | parisc64:Linux:*:* | hppa64:Linux:*:*) | 981 | parisc64:Linux:*:* | hppa64:Linux:*:*) |
957 | echo hppa64-unknown-linux-gnu | 982 | echo hppa64-unknown-linux-${LIBC} |
958 | exit ;; | 983 | exit ;; |
959 | parisc:Linux:*:* | hppa:Linux:*:*) | 984 | parisc:Linux:*:* | hppa:Linux:*:*) |
960 | # Look for CPU level | 985 | # Look for CPU level |
961 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in | 986 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in |
962 | PA7*) echo hppa1.1-unknown-linux-gnu ;; | 987 | PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; |
963 | PA8*) echo hppa2.0-unknown-linux-gnu ;; | 988 | PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; |
964 | *) echo hppa-unknown-linux-gnu ;; | 989 | *) echo hppa-unknown-linux-${LIBC} ;; |
965 | esac | 990 | esac |
966 | exit ;; | 991 | exit ;; |
967 | ppc64:Linux:*:*) | 992 | ppc64:Linux:*:*) |
968 | echo powerpc64-unknown-linux-gnu | 993 | echo powerpc64-unknown-linux-${LIBC} |
969 | exit ;; | 994 | exit ;; |
970 | ppc:Linux:*:*) | 995 | ppc:Linux:*:*) |
971 | echo powerpc-unknown-linux-gnu | 996 | echo powerpc-unknown-linux-${LIBC} |
997 | exit ;; | ||
998 | ppc64le:Linux:*:*) | ||
999 | echo powerpc64le-unknown-linux-${LIBC} | ||
1000 | exit ;; | ||
1001 | ppcle:Linux:*:*) | ||
1002 | echo powerpcle-unknown-linux-${LIBC} | ||
972 | exit ;; | 1003 | exit ;; |
973 | s390:Linux:*:* | s390x:Linux:*:*) | 1004 | s390:Linux:*:* | s390x:Linux:*:*) |
974 | echo ${UNAME_MACHINE}-ibm-linux | 1005 | echo ${UNAME_MACHINE}-ibm-linux-${LIBC} |
975 | exit ;; | 1006 | exit ;; |
976 | sh64*:Linux:*:*) | 1007 | sh64*:Linux:*:*) |
977 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1008 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
978 | exit ;; | 1009 | exit ;; |
979 | sh*:Linux:*:*) | 1010 | sh*:Linux:*:*) |
980 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1011 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
981 | exit ;; | 1012 | exit ;; |
982 | sparc:Linux:*:* | sparc64:Linux:*:*) | 1013 | sparc:Linux:*:* | sparc64:Linux:*:*) |
983 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1014 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
984 | exit ;; | 1015 | exit ;; |
985 | tile*:Linux:*:*) | 1016 | tile*:Linux:*:*) |
986 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1017 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
987 | exit ;; | 1018 | exit ;; |
988 | vax:Linux:*:*) | 1019 | vax:Linux:*:*) |
989 | echo ${UNAME_MACHINE}-dec-linux-gnu | 1020 | echo ${UNAME_MACHINE}-dec-linux-${LIBC} |
990 | exit ;; | 1021 | exit ;; |
991 | x86_64:Linux:*:*) | 1022 | x86_64:Linux:*:*) |
992 | echo x86_64-unknown-linux-gnu | 1023 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
993 | exit ;; | 1024 | exit ;; |
994 | xtensa*:Linux:*:*) | 1025 | xtensa*:Linux:*:*) |
995 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 1026 | echo ${UNAME_MACHINE}-unknown-linux-${LIBC} |
996 | exit ;; | 1027 | exit ;; |
997 | i*86:DYNIX/ptx:4*:*) | 1028 | i*86:DYNIX/ptx:4*:*) |
998 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. | 1029 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. |
@@ -1196,6 +1227,9 @@ EOF | |||
1196 | BePC:Haiku:*:*) # Haiku running on Intel PC compatible. | 1227 | BePC:Haiku:*:*) # Haiku running on Intel PC compatible. |
1197 | echo i586-pc-haiku | 1228 | echo i586-pc-haiku |
1198 | exit ;; | 1229 | exit ;; |
1230 | x86_64:Haiku:*:*) | ||
1231 | echo x86_64-unknown-haiku | ||
1232 | exit ;; | ||
1199 | SX-4:SUPER-UX:*:*) | 1233 | SX-4:SUPER-UX:*:*) |
1200 | echo sx4-nec-superux${UNAME_RELEASE} | 1234 | echo sx4-nec-superux${UNAME_RELEASE} |
1201 | exit ;; | 1235 | exit ;; |
@@ -1222,19 +1256,31 @@ EOF | |||
1222 | exit ;; | 1256 | exit ;; |
1223 | *:Darwin:*:*) | 1257 | *:Darwin:*:*) |
1224 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown | 1258 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown |
1225 | case $UNAME_PROCESSOR in | 1259 | eval $set_cc_for_build |
1226 | i386) | 1260 | if test "$UNAME_PROCESSOR" = unknown ; then |
1227 | eval $set_cc_for_build | 1261 | UNAME_PROCESSOR=powerpc |
1228 | if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | 1262 | fi |
1229 | if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ | 1263 | if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then |
1230 | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | 1264 | if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then |
1231 | grep IS_64BIT_ARCH >/dev/null | 1265 | if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ |
1232 | then | 1266 | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ |
1233 | UNAME_PROCESSOR="x86_64" | 1267 | grep IS_64BIT_ARCH >/dev/null |
1234 | fi | 1268 | then |
1235 | fi ;; | 1269 | case $UNAME_PROCESSOR in |
1236 | unknown) UNAME_PROCESSOR=powerpc ;; | 1270 | i386) UNAME_PROCESSOR=x86_64 ;; |
1237 | esac | 1271 | powerpc) UNAME_PROCESSOR=powerpc64 ;; |
1272 | esac | ||
1273 | fi | ||
1274 | fi | ||
1275 | elif test "$UNAME_PROCESSOR" = i386 ; then | ||
1276 | # Avoid executing cc on OS X 10.9, as it ships with a stub | ||
1277 | # that puts up a graphical alert prompting to install | ||
1278 | # developer tools. Any system running Mac OS X 10.7 or | ||
1279 | # later (Darwin 11 and later) is required to have a 64-bit | ||
1280 | # processor. This is not true of the ARM version of Darwin | ||
1281 | # that Apple uses in portable devices. | ||
1282 | UNAME_PROCESSOR=x86_64 | ||
1283 | fi | ||
1238 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} | 1284 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} |
1239 | exit ;; | 1285 | exit ;; |
1240 | *:procnto*:*:* | *:QNX:[0123456789]*:*) | 1286 | *:procnto*:*:* | *:QNX:[0123456789]*:*) |
@@ -1251,7 +1297,7 @@ EOF | |||
1251 | NEO-?:NONSTOP_KERNEL:*:*) | 1297 | NEO-?:NONSTOP_KERNEL:*:*) |
1252 | echo neo-tandem-nsk${UNAME_RELEASE} | 1298 | echo neo-tandem-nsk${UNAME_RELEASE} |
1253 | exit ;; | 1299 | exit ;; |
1254 | NSE-?:NONSTOP_KERNEL:*:*) | 1300 | NSE-*:NONSTOP_KERNEL:*:*) |
1255 | echo nse-tandem-nsk${UNAME_RELEASE} | 1301 | echo nse-tandem-nsk${UNAME_RELEASE} |
1256 | exit ;; | 1302 | exit ;; |
1257 | NSR-?:NONSTOP_KERNEL:*:*) | 1303 | NSR-?:NONSTOP_KERNEL:*:*) |
@@ -1320,11 +1366,11 @@ EOF | |||
1320 | i*86:AROS:*:*) | 1366 | i*86:AROS:*:*) |
1321 | echo ${UNAME_MACHINE}-pc-aros | 1367 | echo ${UNAME_MACHINE}-pc-aros |
1322 | exit ;; | 1368 | exit ;; |
1369 | x86_64:VMkernel:*:*) | ||
1370 | echo ${UNAME_MACHINE}-unknown-esx | ||
1371 | exit ;; | ||
1323 | esac | 1372 | esac |
1324 | 1373 | ||
1325 | #echo '(No uname command or uname output not recognized.)' 1>&2 | ||
1326 | #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 | ||
1327 | |||
1328 | eval $set_cc_for_build | 1374 | eval $set_cc_for_build |
1329 | cat >$dummy.c <<EOF | 1375 | cat >$dummy.c <<EOF |
1330 | #ifdef _SEQUENT_ | 1376 | #ifdef _SEQUENT_ |
diff --git a/gs/jpeg/config.sub b/gs/jpeg/config.sub index e76eaf472..61cb4bc22 100755 --- a/gs/jpeg/config.sub +++ b/gs/jpeg/config.sub | |||
@@ -1,38 +1,31 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Configuration validation subroutine script. | 2 | # Configuration validation subroutine script. |
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | 3 | # Copyright 1992-2013 Free Software Foundation, Inc. |
4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, | ||
5 | # 2011 Free Software Foundation, Inc. | ||
6 | 4 | ||
7 | timestamp='2011-11-11' | 5 | timestamp='2013-10-01' |
8 | 6 | ||
9 | # This file is (in principle) common to ALL GNU software. | 7 | # This file is free software; you can redistribute it and/or modify it |
10 | # The presence of a machine in this file suggests that SOME GNU software | 8 | # under the terms of the GNU General Public License as published by |
11 | # can handle that machine. It does not imply ALL GNU software can. | 9 | # the Free Software Foundation; either version 3 of the License, or |
12 | # | ||
13 | # This file is free software; you can redistribute it and/or modify | ||
14 | # it under the terms of the GNU General Public License as published by | ||
15 | # the Free Software Foundation; either version 2 of the License, or | ||
16 | # (at your option) any later version. | 10 | # (at your option) any later version. |
17 | # | 11 | # |
18 | # This program is distributed in the hope that it will be useful, | 12 | # This program is distributed in the hope that it will be useful, but |
19 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 | # WITHOUT ANY WARRANTY; without even the implied warranty of |
20 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
21 | # GNU General Public License for more details. | 15 | # General Public License for more details. |
22 | # | 16 | # |
23 | # You should have received a copy of the GNU General Public License | 17 | # You should have received a copy of the GNU General Public License |
24 | # along with this program; if not, write to the Free Software | 18 | # along with this program; if not, see <http://www.gnu.org/licenses/>. |
25 | # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA | ||
26 | # 02110-1301, USA. | ||
27 | # | 19 | # |
28 | # As a special exception to the GNU General Public License, if you | 20 | # As a special exception to the GNU General Public License, if you |
29 | # distribute this file as part of a program that contains a | 21 | # distribute this file as part of a program that contains a |
30 | # configuration script generated by Autoconf, you may include it under | 22 | # configuration script generated by Autoconf, you may include it under |
31 | # the same distribution terms that you use for the rest of that program. | 23 | # the same distribution terms that you use for the rest of that |
24 | # program. This Exception is an additional permission under section 7 | ||
25 | # of the GNU General Public License, version 3 ("GPLv3"). | ||
32 | 26 | ||
33 | 27 | ||
34 | # Please send patches to <config-patches@gnu.org>. Submit a context | 28 | # Please send patches with a ChangeLog entry to config-patches@gnu.org. |
35 | # diff and a properly formatted GNU ChangeLog entry. | ||
36 | # | 29 | # |
37 | # Configuration subroutine to validate and canonicalize a configuration type. | 30 | # Configuration subroutine to validate and canonicalize a configuration type. |
38 | # Supply the specified configuration type as an argument. | 31 | # Supply the specified configuration type as an argument. |
@@ -75,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>." | |||
75 | version="\ | 68 | version="\ |
76 | GNU config.sub ($timestamp) | 69 | GNU config.sub ($timestamp) |
77 | 70 | ||
78 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, | 71 | Copyright 1992-2013 Free Software Foundation, Inc. |
79 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free | ||
80 | Software Foundation, Inc. | ||
81 | 72 | ||
82 | This is free software; see the source for copying conditions. There is NO | 73 | This is free software; see the source for copying conditions. There is NO |
83 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 74 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
@@ -125,13 +116,17 @@ esac | |||
125 | maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` | 116 | maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` |
126 | case $maybe_os in | 117 | case $maybe_os in |
127 | nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ | 118 | nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ |
128 | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ | 119 | linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ |
129 | knetbsd*-gnu* | netbsd*-gnu* | \ | 120 | knetbsd*-gnu* | netbsd*-gnu* | \ |
130 | kopensolaris*-gnu* | \ | 121 | kopensolaris*-gnu* | \ |
131 | storm-chaos* | os2-emx* | rtmk-nova*) | 122 | storm-chaos* | os2-emx* | rtmk-nova*) |
132 | os=-$maybe_os | 123 | os=-$maybe_os |
133 | basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` | 124 | basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` |
134 | ;; | 125 | ;; |
126 | android-linux) | ||
127 | os=-linux-android | ||
128 | basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown | ||
129 | ;; | ||
135 | *) | 130 | *) |
136 | basic_machine=`echo $1 | sed 's/-[^-]*$//'` | 131 | basic_machine=`echo $1 | sed 's/-[^-]*$//'` |
137 | if [ $basic_machine != $1 ] | 132 | if [ $basic_machine != $1 ] |
@@ -154,7 +149,7 @@ case $os in | |||
154 | -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ | 149 | -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ |
155 | -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ | 150 | -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ |
156 | -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ | 151 | -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ |
157 | -apple | -axis | -knuth | -cray | -microblaze) | 152 | -apple | -axis | -knuth | -cray | -microblaze*) |
158 | os= | 153 | os= |
159 | basic_machine=$1 | 154 | basic_machine=$1 |
160 | ;; | 155 | ;; |
@@ -223,6 +218,12 @@ case $os in | |||
223 | -isc*) | 218 | -isc*) |
224 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | 219 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` |
225 | ;; | 220 | ;; |
221 | -lynx*178) | ||
222 | os=-lynxos178 | ||
223 | ;; | ||
224 | -lynx*5) | ||
225 | os=-lynxos5 | ||
226 | ;; | ||
226 | -lynx*) | 227 | -lynx*) |
227 | os=-lynxos | 228 | os=-lynxos |
228 | ;; | 229 | ;; |
@@ -247,13 +248,16 @@ case $basic_machine in | |||
247 | # Some are omitted here because they have special meanings below. | 248 | # Some are omitted here because they have special meanings below. |
248 | 1750a | 580 \ | 249 | 1750a | 580 \ |
249 | | a29k \ | 250 | | a29k \ |
251 | | aarch64 | aarch64_be \ | ||
250 | | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | 252 | | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ |
251 | | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | 253 | | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ |
252 | | am33_2.0 \ | 254 | | am33_2.0 \ |
253 | | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | 255 | | arc | arceb \ |
254 | | be32 | be64 \ | 256 | | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ |
257 | | avr | avr32 \ | ||
258 | | be32 | be64 \ | ||
255 | | bfin \ | 259 | | bfin \ |
256 | | c4x | clipper \ | 260 | | c4x | c8051 | clipper \ |
257 | | d10v | d30v | dlx | dsp16xx \ | 261 | | d10v | d30v | dlx | dsp16xx \ |
258 | | epiphany \ | 262 | | epiphany \ |
259 | | fido | fr30 | frv \ | 263 | | fido | fr30 | frv \ |
@@ -261,10 +265,11 @@ case $basic_machine in | |||
261 | | hexagon \ | 265 | | hexagon \ |
262 | | i370 | i860 | i960 | ia64 \ | 266 | | i370 | i860 | i960 | ia64 \ |
263 | | ip2k | iq2000 \ | 267 | | ip2k | iq2000 \ |
268 | | k1om \ | ||
264 | | le32 | le64 \ | 269 | | le32 | le64 \ |
265 | | lm32 \ | 270 | | lm32 \ |
266 | | m32c | m32r | m32rle | m68000 | m68k | m88k \ | 271 | | m32c | m32r | m32rle | m68000 | m68k | m88k \ |
267 | | maxq | mb | microblaze | mcore | mep | metag \ | 272 | | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ |
268 | | mips | mipsbe | mipseb | mipsel | mipsle \ | 273 | | mips | mipsbe | mipseb | mipsel | mipsle \ |
269 | | mips16 \ | 274 | | mips16 \ |
270 | | mips64 | mips64el \ | 275 | | mips64 | mips64el \ |
@@ -282,16 +287,17 @@ case $basic_machine in | |||
282 | | mipsisa64r2 | mipsisa64r2el \ | 287 | | mipsisa64r2 | mipsisa64r2el \ |
283 | | mipsisa64sb1 | mipsisa64sb1el \ | 288 | | mipsisa64sb1 | mipsisa64sb1el \ |
284 | | mipsisa64sr71k | mipsisa64sr71kel \ | 289 | | mipsisa64sr71k | mipsisa64sr71kel \ |
290 | | mipsr5900 | mipsr5900el \ | ||
285 | | mipstx39 | mipstx39el \ | 291 | | mipstx39 | mipstx39el \ |
286 | | mn10200 | mn10300 \ | 292 | | mn10200 | mn10300 \ |
287 | | moxie \ | 293 | | moxie \ |
288 | | mt \ | 294 | | mt \ |
289 | | msp430 \ | 295 | | msp430 \ |
290 | | nds32 | nds32le | nds32be \ | 296 | | nds32 | nds32le | nds32be \ |
291 | | nios | nios2 \ | 297 | | nios | nios2 | nios2eb | nios2el \ |
292 | | ns16k | ns32k \ | 298 | | ns16k | ns32k \ |
293 | | open8 \ | 299 | | open8 \ |
294 | | or32 \ | 300 | | or1k | or32 \ |
295 | | pdp10 | pdp11 | pj | pjl \ | 301 | | pdp10 | pdp11 | pj | pjl \ |
296 | | powerpc | powerpc64 | powerpc64le | powerpcle \ | 302 | | powerpc | powerpc64 | powerpc64le | powerpcle \ |
297 | | pyramid \ | 303 | | pyramid \ |
@@ -319,8 +325,7 @@ case $basic_machine in | |||
319 | c6x) | 325 | c6x) |
320 | basic_machine=tic6x-unknown | 326 | basic_machine=tic6x-unknown |
321 | ;; | 327 | ;; |
322 | m6811 | m68hc11 | m6812 | m68hc12 | picochip) | 328 | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) |
323 | # Motorola 68HC11/12. | ||
324 | basic_machine=$basic_machine-unknown | 329 | basic_machine=$basic_machine-unknown |
325 | os=-none | 330 | os=-none |
326 | ;; | 331 | ;; |
@@ -333,7 +338,10 @@ case $basic_machine in | |||
333 | strongarm | thumb | xscale) | 338 | strongarm | thumb | xscale) |
334 | basic_machine=arm-unknown | 339 | basic_machine=arm-unknown |
335 | ;; | 340 | ;; |
336 | 341 | xgate) | |
342 | basic_machine=$basic_machine-unknown | ||
343 | os=-none | ||
344 | ;; | ||
337 | xscaleeb) | 345 | xscaleeb) |
338 | basic_machine=armeb-unknown | 346 | basic_machine=armeb-unknown |
339 | ;; | 347 | ;; |
@@ -356,15 +364,16 @@ case $basic_machine in | |||
356 | # Recognize the basic CPU types with company name. | 364 | # Recognize the basic CPU types with company name. |
357 | 580-* \ | 365 | 580-* \ |
358 | | a29k-* \ | 366 | | a29k-* \ |
367 | | aarch64-* | aarch64_be-* \ | ||
359 | | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | 368 | | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ |
360 | | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | 369 | | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ |
361 | | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | 370 | | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ |
362 | | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | 371 | | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ |
363 | | avr-* | avr32-* \ | 372 | | avr-* | avr32-* \ |
364 | | be32-* | be64-* \ | 373 | | be32-* | be64-* \ |
365 | | bfin-* | bs2000-* \ | 374 | | bfin-* | bs2000-* \ |
366 | | c[123]* | c30-* | [cjt]90-* | c4x-* \ | 375 | | c[123]* | c30-* | [cjt]90-* | c4x-* \ |
367 | | clipper-* | craynv-* | cydra-* \ | 376 | | c8051-* | clipper-* | craynv-* | cydra-* \ |
368 | | d10v-* | d30v-* | dlx-* \ | 377 | | d10v-* | d30v-* | dlx-* \ |
369 | | elxsi-* \ | 378 | | elxsi-* \ |
370 | | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | 379 | | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ |
@@ -373,11 +382,13 @@ case $basic_machine in | |||
373 | | hexagon-* \ | 382 | | hexagon-* \ |
374 | | i*86-* | i860-* | i960-* | ia64-* \ | 383 | | i*86-* | i860-* | i960-* | ia64-* \ |
375 | | ip2k-* | iq2000-* \ | 384 | | ip2k-* | iq2000-* \ |
385 | | k1om-* \ | ||
376 | | le32-* | le64-* \ | 386 | | le32-* | le64-* \ |
377 | | lm32-* \ | 387 | | lm32-* \ |
378 | | m32c-* | m32r-* | m32rle-* \ | 388 | | m32c-* | m32r-* | m32rle-* \ |
379 | | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | 389 | | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ |
380 | | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | 390 | | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ |
391 | | microblaze-* | microblazeel-* \ | ||
381 | | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | 392 | | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ |
382 | | mips16-* \ | 393 | | mips16-* \ |
383 | | mips64-* | mips64el-* \ | 394 | | mips64-* | mips64el-* \ |
@@ -395,12 +406,13 @@ case $basic_machine in | |||
395 | | mipsisa64r2-* | mipsisa64r2el-* \ | 406 | | mipsisa64r2-* | mipsisa64r2el-* \ |
396 | | mipsisa64sb1-* | mipsisa64sb1el-* \ | 407 | | mipsisa64sb1-* | mipsisa64sb1el-* \ |
397 | | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | 408 | | mipsisa64sr71k-* | mipsisa64sr71kel-* \ |
409 | | mipsr5900-* | mipsr5900el-* \ | ||
398 | | mipstx39-* | mipstx39el-* \ | 410 | | mipstx39-* | mipstx39el-* \ |
399 | | mmix-* \ | 411 | | mmix-* \ |
400 | | mt-* \ | 412 | | mt-* \ |
401 | | msp430-* \ | 413 | | msp430-* \ |
402 | | nds32-* | nds32le-* | nds32be-* \ | 414 | | nds32-* | nds32le-* | nds32be-* \ |
403 | | nios-* | nios2-* \ | 415 | | nios-* | nios2-* | nios2eb-* | nios2el-* \ |
404 | | none-* | np1-* | ns16k-* | ns32k-* \ | 416 | | none-* | np1-* | ns16k-* | ns32k-* \ |
405 | | open8-* \ | 417 | | open8-* \ |
406 | | orion-* \ | 418 | | orion-* \ |
@@ -719,7 +731,6 @@ case $basic_machine in | |||
719 | i370-ibm* | ibm*) | 731 | i370-ibm* | ibm*) |
720 | basic_machine=i370-ibm | 732 | basic_machine=i370-ibm |
721 | ;; | 733 | ;; |
722 | # I'm not sure what "Sysv32" means. Should this be sysv3.2? | ||
723 | i*86v32) | 734 | i*86v32) |
724 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | 735 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` |
725 | os=-sysv32 | 736 | os=-sysv32 |
@@ -777,11 +788,15 @@ case $basic_machine in | |||
777 | basic_machine=ns32k-utek | 788 | basic_machine=ns32k-utek |
778 | os=-sysv | 789 | os=-sysv |
779 | ;; | 790 | ;; |
780 | microblaze) | 791 | microblaze*) |
781 | basic_machine=microblaze-xilinx | 792 | basic_machine=microblaze-xilinx |
782 | ;; | 793 | ;; |
794 | mingw64) | ||
795 | basic_machine=x86_64-pc | ||
796 | os=-mingw64 | ||
797 | ;; | ||
783 | mingw32) | 798 | mingw32) |
784 | basic_machine=i386-pc | 799 | basic_machine=i686-pc |
785 | os=-mingw32 | 800 | os=-mingw32 |
786 | ;; | 801 | ;; |
787 | mingw32ce) | 802 | mingw32ce) |
@@ -817,7 +832,7 @@ case $basic_machine in | |||
817 | basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` | 832 | basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` |
818 | ;; | 833 | ;; |
819 | msys) | 834 | msys) |
820 | basic_machine=i386-pc | 835 | basic_machine=i686-pc |
821 | os=-msys | 836 | os=-msys |
822 | ;; | 837 | ;; |
823 | mvs) | 838 | mvs) |
@@ -1008,7 +1023,11 @@ case $basic_machine in | |||
1008 | basic_machine=i586-unknown | 1023 | basic_machine=i586-unknown |
1009 | os=-pw32 | 1024 | os=-pw32 |
1010 | ;; | 1025 | ;; |
1011 | rdos) | 1026 | rdos | rdos64) |
1027 | basic_machine=x86_64-pc | ||
1028 | os=-rdos | ||
1029 | ;; | ||
1030 | rdos32) | ||
1012 | basic_machine=i386-pc | 1031 | basic_machine=i386-pc |
1013 | os=-rdos | 1032 | os=-rdos |
1014 | ;; | 1033 | ;; |
@@ -1335,21 +1354,21 @@ case $os in | |||
1335 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | 1354 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ |
1336 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | 1355 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ |
1337 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | 1356 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ |
1338 | | -sym* | -kopensolaris* \ | 1357 | | -sym* | -kopensolaris* | -plan9* \ |
1339 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | 1358 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ |
1340 | | -aos* | -aros* \ | 1359 | | -aos* | -aros* \ |
1341 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | 1360 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ |
1342 | | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | 1361 | | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ |
1343 | | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | 1362 | | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ |
1344 | | -openbsd* | -solidbsd* \ | 1363 | | -bitrig* | -openbsd* | -solidbsd* \ |
1345 | | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | 1364 | | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ |
1346 | | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | 1365 | | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ |
1347 | | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | 1366 | | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ |
1348 | | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | 1367 | | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ |
1349 | | -chorusos* | -chorusrdb* | -cegcc* \ | 1368 | | -chorusos* | -chorusrdb* | -cegcc* \ |
1350 | | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | 1369 | | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ |
1351 | | -mingw32* | -linux-gnu* | -linux-android* \ | 1370 | | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ |
1352 | | -linux-newlib* | -linux-uclibc* \ | 1371 | | -linux-newlib* | -linux-musl* | -linux-uclibc* \ |
1353 | | -uxpv* | -beos* | -mpeix* | -udk* \ | 1372 | | -uxpv* | -beos* | -mpeix* | -udk* \ |
1354 | | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | 1373 | | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ |
1355 | | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | 1374 | | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ |
@@ -1481,9 +1500,6 @@ case $os in | |||
1481 | -aros*) | 1500 | -aros*) |
1482 | os=-aros | 1501 | os=-aros |
1483 | ;; | 1502 | ;; |
1484 | -kaos*) | ||
1485 | os=-kaos | ||
1486 | ;; | ||
1487 | -zvmoe) | 1503 | -zvmoe) |
1488 | os=-zvmoe | 1504 | os=-zvmoe |
1489 | ;; | 1505 | ;; |
@@ -1532,6 +1548,12 @@ case $basic_machine in | |||
1532 | c4x-* | tic4x-*) | 1548 | c4x-* | tic4x-*) |
1533 | os=-coff | 1549 | os=-coff |
1534 | ;; | 1550 | ;; |
1551 | c8051-*) | ||
1552 | os=-elf | ||
1553 | ;; | ||
1554 | hexagon-*) | ||
1555 | os=-elf | ||
1556 | ;; | ||
1535 | tic54x-*) | 1557 | tic54x-*) |
1536 | os=-coff | 1558 | os=-coff |
1537 | ;; | 1559 | ;; |
@@ -1559,9 +1581,6 @@ case $basic_machine in | |||
1559 | ;; | 1581 | ;; |
1560 | m68000-sun) | 1582 | m68000-sun) |
1561 | os=-sunos3 | 1583 | os=-sunos3 |
1562 | # This also exists in the configure program, but was not the | ||
1563 | # default. | ||
1564 | # os=-sunos4 | ||
1565 | ;; | 1584 | ;; |
1566 | m68*-cisco) | 1585 | m68*-cisco) |
1567 | os=-aout | 1586 | os=-aout |
@@ -1575,6 +1594,9 @@ case $basic_machine in | |||
1575 | mips*-*) | 1594 | mips*-*) |
1576 | os=-elf | 1595 | os=-elf |
1577 | ;; | 1596 | ;; |
1597 | or1k-*) | ||
1598 | os=-elf | ||
1599 | ;; | ||
1578 | or32-*) | 1600 | or32-*) |
1579 | os=-coff | 1601 | os=-coff |
1580 | ;; | 1602 | ;; |
diff --git a/gs/jpeg/configure b/gs/jpeg/configure new file mode 100755 index 000000000..77a5df322 --- /dev/null +++ b/gs/jpeg/configure | |||
@@ -0,0 +1,15462 @@ | |||
1 | #! /bin/sh | ||
2 | # Guess values for system-dependent variables and create Makefiles. | ||
3 | # Generated by GNU Autoconf 2.69 for libjpeg 9.1.0. | ||
4 | # | ||
5 | # | ||
6 | # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. | ||
7 | # | ||
8 | # | ||
9 | # This configure script is free software; the Free Software Foundation | ||
10 | # gives unlimited permission to copy, distribute and modify it. | ||
11 | ## -------------------- ## | ||
12 | ## M4sh Initialization. ## | ||
13 | ## -------------------- ## | ||
14 | |||
15 | # Be more Bourne compatible | ||
16 | DUALCASE=1; export DUALCASE # for MKS sh | ||
17 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : | ||
18 | emulate sh | ||
19 | NULLCMD=: | ||
20 | # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which | ||
21 | # is contrary to our usage. Disable this feature. | ||
22 | alias -g '${1+"$@"}'='"$@"' | ||
23 | setopt NO_GLOB_SUBST | ||
24 | else | ||
25 | case `(set -o) 2>/dev/null` in #( | ||
26 | *posix*) : | ||
27 | set -o posix ;; #( | ||
28 | *) : | ||
29 | ;; | ||
30 | esac | ||
31 | fi | ||
32 | |||
33 | |||
34 | as_nl=' | ||
35 | ' | ||
36 | export as_nl | ||
37 | # Printing a long string crashes Solaris 7 /usr/bin/printf. | ||
38 | as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' | ||
39 | as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo | ||
40 | as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo | ||
41 | # Prefer a ksh shell builtin over an external printf program on Solaris, | ||
42 | # but without wasting forks for bash or zsh. | ||
43 | if test -z "$BASH_VERSION$ZSH_VERSION" \ | ||
44 | && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then | ||
45 | as_echo='print -r --' | ||
46 | as_echo_n='print -rn --' | ||
47 | elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then | ||
48 | as_echo='printf %s\n' | ||
49 | as_echo_n='printf %s' | ||
50 | else | ||
51 | if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then | ||
52 | as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' | ||
53 | as_echo_n='/usr/ucb/echo -n' | ||
54 | else | ||
55 | as_echo_body='eval expr "X$1" : "X\\(.*\\)"' | ||
56 | as_echo_n_body='eval | ||
57 | arg=$1; | ||
58 | case $arg in #( | ||
59 | *"$as_nl"*) | ||
60 | expr "X$arg" : "X\\(.*\\)$as_nl"; | ||
61 | arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; | ||
62 | esac; | ||
63 | expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" | ||
64 | ' | ||
65 | export as_echo_n_body | ||
66 | as_echo_n='sh -c $as_echo_n_body as_echo' | ||
67 | fi | ||
68 | export as_echo_body | ||
69 | as_echo='sh -c $as_echo_body as_echo' | ||
70 | fi | ||
71 | |||
72 | # The user is always right. | ||
73 | if test "${PATH_SEPARATOR+set}" != set; then | ||
74 | PATH_SEPARATOR=: | ||
75 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { | ||
76 | (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || | ||
77 | PATH_SEPARATOR=';' | ||
78 | } | ||
79 | fi | ||
80 | |||
81 | |||
82 | # IFS | ||
83 | # We need space, tab and new line, in precisely that order. Quoting is | ||
84 | # there to prevent editors from complaining about space-tab. | ||
85 | # (If _AS_PATH_WALK were called with IFS unset, it would disable word | ||
86 | # splitting by setting IFS to empty value.) | ||
87 | IFS=" "" $as_nl" | ||
88 | |||
89 | # Find who we are. Look in the path if we contain no directory separator. | ||
90 | as_myself= | ||
91 | case $0 in #(( | ||
92 | *[\\/]* ) as_myself=$0 ;; | ||
93 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
94 | for as_dir in $PATH | ||
95 | do | ||
96 | IFS=$as_save_IFS | ||
97 | test -z "$as_dir" && as_dir=. | ||
98 | test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break | ||
99 | done | ||
100 | IFS=$as_save_IFS | ||
101 | |||
102 | ;; | ||
103 | esac | ||
104 | # We did not find ourselves, most probably we were run as `sh COMMAND' | ||
105 | # in which case we are not to be found in the path. | ||
106 | if test "x$as_myself" = x; then | ||
107 | as_myself=$0 | ||
108 | fi | ||
109 | if test ! -f "$as_myself"; then | ||
110 | $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 | ||
111 | exit 1 | ||
112 | fi | ||
113 | |||
114 | # Unset variables that we do not need and which cause bugs (e.g. in | ||
115 | # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" | ||
116 | # suppresses any "Segmentation fault" message there. '((' could | ||
117 | # trigger a bug in pdksh 5.2.14. | ||
118 | for as_var in BASH_ENV ENV MAIL MAILPATH | ||
119 | do eval test x\${$as_var+set} = xset \ | ||
120 | && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : | ||
121 | done | ||
122 | PS1='$ ' | ||
123 | PS2='> ' | ||
124 | PS4='+ ' | ||
125 | |||
126 | # NLS nuisances. | ||
127 | LC_ALL=C | ||
128 | export LC_ALL | ||
129 | LANGUAGE=C | ||
130 | export LANGUAGE | ||
131 | |||
132 | # CDPATH. | ||
133 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH | ||
134 | |||
135 | # Use a proper internal environment variable to ensure we don't fall | ||
136 | # into an infinite loop, continuously re-executing ourselves. | ||
137 | if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then | ||
138 | _as_can_reexec=no; export _as_can_reexec; | ||
139 | # We cannot yet assume a decent shell, so we have to provide a | ||
140 | # neutralization value for shells without unset; and this also | ||
141 | # works around shells that cannot unset nonexistent variables. | ||
142 | # Preserve -v and -x to the replacement shell. | ||
143 | BASH_ENV=/dev/null | ||
144 | ENV=/dev/null | ||
145 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV | ||
146 | case $- in # (((( | ||
147 | *v*x* | *x*v* ) as_opts=-vx ;; | ||
148 | *v* ) as_opts=-v ;; | ||
149 | *x* ) as_opts=-x ;; | ||
150 | * ) as_opts= ;; | ||
151 | esac | ||
152 | exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} | ||
153 | # Admittedly, this is quite paranoid, since all the known shells bail | ||
154 | # out after a failed `exec'. | ||
155 | $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 | ||
156 | as_fn_exit 255 | ||
157 | fi | ||
158 | # We don't want this to propagate to other subprocesses. | ||
159 | { _as_can_reexec=; unset _as_can_reexec;} | ||
160 | if test "x$CONFIG_SHELL" = x; then | ||
161 | as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : | ||
162 | emulate sh | ||
163 | NULLCMD=: | ||
164 | # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which | ||
165 | # is contrary to our usage. Disable this feature. | ||
166 | alias -g '\${1+\"\$@\"}'='\"\$@\"' | ||
167 | setopt NO_GLOB_SUBST | ||
168 | else | ||
169 | case \`(set -o) 2>/dev/null\` in #( | ||
170 | *posix*) : | ||
171 | set -o posix ;; #( | ||
172 | *) : | ||
173 | ;; | ||
174 | esac | ||
175 | fi | ||
176 | " | ||
177 | as_required="as_fn_return () { (exit \$1); } | ||
178 | as_fn_success () { as_fn_return 0; } | ||
179 | as_fn_failure () { as_fn_return 1; } | ||
180 | as_fn_ret_success () { return 0; } | ||
181 | as_fn_ret_failure () { return 1; } | ||
182 | |||
183 | exitcode=0 | ||
184 | as_fn_success || { exitcode=1; echo as_fn_success failed.; } | ||
185 | as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } | ||
186 | as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } | ||
187 | as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } | ||
188 | if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : | ||
189 | |||
190 | else | ||
191 | exitcode=1; echo positional parameters were not saved. | ||
192 | fi | ||
193 | test x\$exitcode = x0 || exit 1 | ||
194 | test -x / || exit 1" | ||
195 | as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO | ||
196 | as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO | ||
197 | eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && | ||
198 | test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 | ||
199 | test \$(( 1 + 1 )) = 2 || exit 1 | ||
200 | |||
201 | test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( | ||
202 | ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' | ||
203 | ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO | ||
204 | ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO | ||
205 | PATH=/empty FPATH=/empty; export PATH FPATH | ||
206 | test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ | ||
207 | || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" | ||
208 | if (eval "$as_required") 2>/dev/null; then : | ||
209 | as_have_required=yes | ||
210 | else | ||
211 | as_have_required=no | ||
212 | fi | ||
213 | if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : | ||
214 | |||
215 | else | ||
216 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
217 | as_found=false | ||
218 | for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH | ||
219 | do | ||
220 | IFS=$as_save_IFS | ||
221 | test -z "$as_dir" && as_dir=. | ||
222 | as_found=: | ||
223 | case $as_dir in #( | ||
224 | /*) | ||
225 | for as_base in sh bash ksh sh5; do | ||
226 | # Try only shells that exist, to save several forks. | ||
227 | as_shell=$as_dir/$as_base | ||
228 | if { test -f "$as_shell" || test -f "$as_shell.exe"; } && | ||
229 | { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : | ||
230 | CONFIG_SHELL=$as_shell as_have_required=yes | ||
231 | if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : | ||
232 | break 2 | ||
233 | fi | ||
234 | fi | ||
235 | done;; | ||
236 | esac | ||
237 | as_found=false | ||
238 | done | ||
239 | $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && | ||
240 | { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : | ||
241 | CONFIG_SHELL=$SHELL as_have_required=yes | ||
242 | fi; } | ||
243 | IFS=$as_save_IFS | ||
244 | |||
245 | |||
246 | if test "x$CONFIG_SHELL" != x; then : | ||
247 | export CONFIG_SHELL | ||
248 | # We cannot yet assume a decent shell, so we have to provide a | ||
249 | # neutralization value for shells without unset; and this also | ||
250 | # works around shells that cannot unset nonexistent variables. | ||
251 | # Preserve -v and -x to the replacement shell. | ||
252 | BASH_ENV=/dev/null | ||
253 | ENV=/dev/null | ||
254 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV | ||
255 | case $- in # (((( | ||
256 | *v*x* | *x*v* ) as_opts=-vx ;; | ||
257 | *v* ) as_opts=-v ;; | ||
258 | *x* ) as_opts=-x ;; | ||
259 | * ) as_opts= ;; | ||
260 | esac | ||
261 | exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} | ||
262 | # Admittedly, this is quite paranoid, since all the known shells bail | ||
263 | # out after a failed `exec'. | ||
264 | $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 | ||
265 | exit 255 | ||
266 | fi | ||
267 | |||
268 | if test x$as_have_required = xno; then : | ||
269 | $as_echo "$0: This script requires a shell more modern than all" | ||
270 | $as_echo "$0: the shells that I found on your system." | ||
271 | if test x${ZSH_VERSION+set} = xset ; then | ||
272 | $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" | ||
273 | $as_echo "$0: be upgraded to zsh 4.3.4 or later." | ||
274 | else | ||
275 | $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, | ||
276 | $0: including any error possibly output before this | ||
277 | $0: message. Then install a modern shell, or manually run | ||
278 | $0: the script under such a shell if you do have one." | ||
279 | fi | ||
280 | exit 1 | ||
281 | fi | ||
282 | fi | ||
283 | fi | ||
284 | SHELL=${CONFIG_SHELL-/bin/sh} | ||
285 | export SHELL | ||
286 | # Unset more variables known to interfere with behavior of common tools. | ||
287 | CLICOLOR_FORCE= GREP_OPTIONS= | ||
288 | unset CLICOLOR_FORCE GREP_OPTIONS | ||
289 | |||
290 | ## --------------------- ## | ||
291 | ## M4sh Shell Functions. ## | ||
292 | ## --------------------- ## | ||
293 | # as_fn_unset VAR | ||
294 | # --------------- | ||
295 | # Portably unset VAR. | ||
296 | as_fn_unset () | ||
297 | { | ||
298 | { eval $1=; unset $1;} | ||
299 | } | ||
300 | as_unset=as_fn_unset | ||
301 | |||
302 | # as_fn_set_status STATUS | ||
303 | # ----------------------- | ||
304 | # Set $? to STATUS, without forking. | ||
305 | as_fn_set_status () | ||
306 | { | ||
307 | return $1 | ||
308 | } # as_fn_set_status | ||
309 | |||
310 | # as_fn_exit STATUS | ||
311 | # ----------------- | ||
312 | # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. | ||
313 | as_fn_exit () | ||
314 | { | ||
315 | set +e | ||
316 | as_fn_set_status $1 | ||
317 | exit $1 | ||
318 | } # as_fn_exit | ||
319 | |||
320 | # as_fn_mkdir_p | ||
321 | # ------------- | ||
322 | # Create "$as_dir" as a directory, including parents if necessary. | ||
323 | as_fn_mkdir_p () | ||
324 | { | ||
325 | |||
326 | case $as_dir in #( | ||
327 | -*) as_dir=./$as_dir;; | ||
328 | esac | ||
329 | test -d "$as_dir" || eval $as_mkdir_p || { | ||
330 | as_dirs= | ||
331 | while :; do | ||
332 | case $as_dir in #( | ||
333 | *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( | ||
334 | *) as_qdir=$as_dir;; | ||
335 | esac | ||
336 | as_dirs="'$as_qdir' $as_dirs" | ||
337 | as_dir=`$as_dirname -- "$as_dir" || | ||
338 | $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
339 | X"$as_dir" : 'X\(//\)[^/]' \| \ | ||
340 | X"$as_dir" : 'X\(//\)$' \| \ | ||
341 | X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || | ||
342 | $as_echo X"$as_dir" | | ||
343 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||
344 | s//\1/ | ||
345 | q | ||
346 | } | ||
347 | /^X\(\/\/\)[^/].*/{ | ||
348 | s//\1/ | ||
349 | q | ||
350 | } | ||
351 | /^X\(\/\/\)$/{ | ||
352 | s//\1/ | ||
353 | q | ||
354 | } | ||
355 | /^X\(\/\).*/{ | ||
356 | s//\1/ | ||
357 | q | ||
358 | } | ||
359 | s/.*/./; q'` | ||
360 | test -d "$as_dir" && break | ||
361 | done | ||
362 | test -z "$as_dirs" || eval "mkdir $as_dirs" | ||
363 | } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" | ||
364 | |||
365 | |||
366 | } # as_fn_mkdir_p | ||
367 | |||
368 | # as_fn_executable_p FILE | ||
369 | # ----------------------- | ||
370 | # Test if FILE is an executable regular file. | ||
371 | as_fn_executable_p () | ||
372 | { | ||
373 | test -f "$1" && test -x "$1" | ||
374 | } # as_fn_executable_p | ||
375 | # as_fn_append VAR VALUE | ||
376 | # ---------------------- | ||
377 | # Append the text in VALUE to the end of the definition contained in VAR. Take | ||
378 | # advantage of any shell optimizations that allow amortized linear growth over | ||
379 | # repeated appends, instead of the typical quadratic growth present in naive | ||
380 | # implementations. | ||
381 | if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : | ||
382 | eval 'as_fn_append () | ||
383 | { | ||
384 | eval $1+=\$2 | ||
385 | }' | ||
386 | else | ||
387 | as_fn_append () | ||
388 | { | ||
389 | eval $1=\$$1\$2 | ||
390 | } | ||
391 | fi # as_fn_append | ||
392 | |||
393 | # as_fn_arith ARG... | ||
394 | # ------------------ | ||
395 | # Perform arithmetic evaluation on the ARGs, and store the result in the | ||
396 | # global $as_val. Take advantage of shells that can avoid forks. The arguments | ||
397 | # must be portable across $(()) and expr. | ||
398 | if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : | ||
399 | eval 'as_fn_arith () | ||
400 | { | ||
401 | as_val=$(( $* )) | ||
402 | }' | ||
403 | else | ||
404 | as_fn_arith () | ||
405 | { | ||
406 | as_val=`expr "$@" || test $? -eq 1` | ||
407 | } | ||
408 | fi # as_fn_arith | ||
409 | |||
410 | |||
411 | # as_fn_error STATUS ERROR [LINENO LOG_FD] | ||
412 | # ---------------------------------------- | ||
413 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are | ||
414 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the | ||
415 | # script with STATUS, using 1 if that was 0. | ||
416 | as_fn_error () | ||
417 | { | ||
418 | as_status=$1; test $as_status -eq 0 && as_status=1 | ||
419 | if test "$4"; then | ||
420 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
421 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 | ||
422 | fi | ||
423 | $as_echo "$as_me: error: $2" >&2 | ||
424 | as_fn_exit $as_status | ||
425 | } # as_fn_error | ||
426 | |||
427 | if expr a : '\(a\)' >/dev/null 2>&1 && | ||
428 | test "X`expr 00001 : '.*\(...\)'`" = X001; then | ||
429 | as_expr=expr | ||
430 | else | ||
431 | as_expr=false | ||
432 | fi | ||
433 | |||
434 | if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then | ||
435 | as_basename=basename | ||
436 | else | ||
437 | as_basename=false | ||
438 | fi | ||
439 | |||
440 | if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then | ||
441 | as_dirname=dirname | ||
442 | else | ||
443 | as_dirname=false | ||
444 | fi | ||
445 | |||
446 | as_me=`$as_basename -- "$0" || | ||
447 | $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ | ||
448 | X"$0" : 'X\(//\)$' \| \ | ||
449 | X"$0" : 'X\(/\)' \| . 2>/dev/null || | ||
450 | $as_echo X/"$0" | | ||
451 | sed '/^.*\/\([^/][^/]*\)\/*$/{ | ||
452 | s//\1/ | ||
453 | q | ||
454 | } | ||
455 | /^X\/\(\/\/\)$/{ | ||
456 | s//\1/ | ||
457 | q | ||
458 | } | ||
459 | /^X\/\(\/\).*/{ | ||
460 | s//\1/ | ||
461 | q | ||
462 | } | ||
463 | s/.*/./; q'` | ||
464 | |||
465 | # Avoid depending upon Character Ranges. | ||
466 | as_cr_letters='abcdefghijklmnopqrstuvwxyz' | ||
467 | as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' | ||
468 | as_cr_Letters=$as_cr_letters$as_cr_LETTERS | ||
469 | as_cr_digits='0123456789' | ||
470 | as_cr_alnum=$as_cr_Letters$as_cr_digits | ||
471 | |||
472 | |||
473 | as_lineno_1=$LINENO as_lineno_1a=$LINENO | ||
474 | as_lineno_2=$LINENO as_lineno_2a=$LINENO | ||
475 | eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && | ||
476 | test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { | ||
477 | # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) | ||
478 | sed -n ' | ||
479 | p | ||
480 | /[$]LINENO/= | ||
481 | ' <$as_myself | | ||
482 | sed ' | ||
483 | s/[$]LINENO.*/&-/ | ||
484 | t lineno | ||
485 | b | ||
486 | :lineno | ||
487 | N | ||
488 | :loop | ||
489 | s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ | ||
490 | t loop | ||
491 | s/-\n.*// | ||
492 | ' >$as_me.lineno && | ||
493 | chmod +x "$as_me.lineno" || | ||
494 | { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } | ||
495 | |||
496 | # If we had to re-execute with $CONFIG_SHELL, we're ensured to have | ||
497 | # already done that, so ensure we don't try to do so again and fall | ||
498 | # in an infinite loop. This has already happened in practice. | ||
499 | _as_can_reexec=no; export _as_can_reexec | ||
500 | # Don't try to exec as it changes $[0], causing all sort of problems | ||
501 | # (the dirname of $[0] is not the place where we might find the | ||
502 | # original and so on. Autoconf is especially sensitive to this). | ||
503 | . "./$as_me.lineno" | ||
504 | # Exit status is that of the last command. | ||
505 | exit | ||
506 | } | ||
507 | |||
508 | ECHO_C= ECHO_N= ECHO_T= | ||
509 | case `echo -n x` in #((((( | ||
510 | -n*) | ||
511 | case `echo 'xy\c'` in | ||
512 | *c*) ECHO_T=' ';; # ECHO_T is single tab character. | ||
513 | xy) ECHO_C='\c';; | ||
514 | *) echo `echo ksh88 bug on AIX 6.1` > /dev/null | ||
515 | ECHO_T=' ';; | ||
516 | esac;; | ||
517 | *) | ||
518 | ECHO_N='-n';; | ||
519 | esac | ||
520 | |||
521 | rm -f conf$$ conf$$.exe conf$$.file | ||
522 | if test -d conf$$.dir; then | ||
523 | rm -f conf$$.dir/conf$$.file | ||
524 | else | ||
525 | rm -f conf$$.dir | ||
526 | mkdir conf$$.dir 2>/dev/null | ||
527 | fi | ||
528 | if (echo >conf$$.file) 2>/dev/null; then | ||
529 | if ln -s conf$$.file conf$$ 2>/dev/null; then | ||
530 | as_ln_s='ln -s' | ||
531 | # ... but there are two gotchas: | ||
532 | # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. | ||
533 | # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. | ||
534 | # In both cases, we have to default to `cp -pR'. | ||
535 | ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || | ||
536 | as_ln_s='cp -pR' | ||
537 | elif ln conf$$.file conf$$ 2>/dev/null; then | ||
538 | as_ln_s=ln | ||
539 | else | ||
540 | as_ln_s='cp -pR' | ||
541 | fi | ||
542 | else | ||
543 | as_ln_s='cp -pR' | ||
544 | fi | ||
545 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file | ||
546 | rmdir conf$$.dir 2>/dev/null | ||
547 | |||
548 | if mkdir -p . 2>/dev/null; then | ||
549 | as_mkdir_p='mkdir -p "$as_dir"' | ||
550 | else | ||
551 | test -d ./-p && rmdir ./-p | ||
552 | as_mkdir_p=false | ||
553 | fi | ||
554 | |||
555 | as_test_x='test -x' | ||
556 | as_executable_p=as_fn_executable_p | ||
557 | |||
558 | # Sed expression to map a string onto a valid CPP name. | ||
559 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" | ||
560 | |||
561 | # Sed expression to map a string onto a valid variable name. | ||
562 | as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" | ||
563 | |||
564 | SHELL=${CONFIG_SHELL-/bin/sh} | ||
565 | |||
566 | |||
567 | test -n "$DJDIR" || exec 7<&0 </dev/null | ||
568 | exec 6>&1 | ||
569 | |||
570 | # Name of the host. | ||
571 | # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, | ||
572 | # so uname gets run too. | ||
573 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` | ||
574 | |||
575 | # | ||
576 | # Initializations. | ||
577 | # | ||
578 | ac_default_prefix=/usr/local | ||
579 | ac_clean_files= | ||
580 | ac_config_libobj_dir=. | ||
581 | LIBOBJS= | ||
582 | cross_compiling=no | ||
583 | subdirs= | ||
584 | MFLAGS= | ||
585 | MAKEFLAGS= | ||
586 | |||
587 | # Identity of this package. | ||
588 | PACKAGE_NAME='libjpeg' | ||
589 | PACKAGE_TARNAME='libjpeg' | ||
590 | PACKAGE_VERSION='9.1.0' | ||
591 | PACKAGE_STRING='libjpeg 9.1.0' | ||
592 | PACKAGE_BUGREPORT='' | ||
593 | PACKAGE_URL='' | ||
594 | |||
595 | # Factoring default headers for most tests. | ||
596 | ac_includes_default="\ | ||
597 | #include <stdio.h> | ||
598 | #ifdef HAVE_SYS_TYPES_H | ||
599 | # include <sys/types.h> | ||
600 | #endif | ||
601 | #ifdef HAVE_SYS_STAT_H | ||
602 | # include <sys/stat.h> | ||
603 | #endif | ||
604 | #ifdef STDC_HEADERS | ||
605 | # include <stdlib.h> | ||
606 | # include <stddef.h> | ||
607 | #else | ||
608 | # ifdef HAVE_STDLIB_H | ||
609 | # include <stdlib.h> | ||
610 | # endif | ||
611 | #endif | ||
612 | #ifdef HAVE_STRING_H | ||
613 | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | ||
614 | # include <memory.h> | ||
615 | # endif | ||
616 | # include <string.h> | ||
617 | #endif | ||
618 | #ifdef HAVE_STRINGS_H | ||
619 | # include <strings.h> | ||
620 | #endif | ||
621 | #ifdef HAVE_INTTYPES_H | ||
622 | # include <inttypes.h> | ||
623 | #endif | ||
624 | #ifdef HAVE_STDINT_H | ||
625 | # include <stdint.h> | ||
626 | #endif | ||
627 | #ifdef HAVE_UNISTD_H | ||
628 | # include <unistd.h> | ||
629 | #endif" | ||
630 | |||
631 | ac_subst_vars='am__EXEEXT_FALSE | ||
632 | am__EXEEXT_TRUE | ||
633 | LTLIBOBJS | ||
634 | LIBOBJS | ||
635 | JPEG_LIB_VERSION | ||
636 | MEMORYMGR | ||
637 | OTOOL64 | ||
638 | OTOOL | ||
639 | LIPO | ||
640 | NMEDIT | ||
641 | DSYMUTIL | ||
642 | MANIFEST_TOOL | ||
643 | RANLIB | ||
644 | NM | ||
645 | ac_ct_DUMPBIN | ||
646 | DUMPBIN | ||
647 | LD | ||
648 | FGREP | ||
649 | SED | ||
650 | LIBTOOL | ||
651 | OBJDUMP | ||
652 | DLLTOOL | ||
653 | AS | ||
654 | EGREP | ||
655 | GREP | ||
656 | HAVE_LD_VERSION_SCRIPT_FALSE | ||
657 | HAVE_LD_VERSION_SCRIPT_TRUE | ||
658 | ac_ct_AR | ||
659 | AR | ||
660 | LN_S | ||
661 | CPP | ||
662 | am__fastdepCC_FALSE | ||
663 | am__fastdepCC_TRUE | ||
664 | CCDEPMODE | ||
665 | am__nodep | ||
666 | AMDEPBACKSLASH | ||
667 | AMDEP_FALSE | ||
668 | AMDEP_TRUE | ||
669 | am__quote | ||
670 | am__include | ||
671 | DEPDIR | ||
672 | OBJEXT | ||
673 | EXEEXT | ||
674 | ac_ct_CC | ||
675 | CPPFLAGS | ||
676 | LDFLAGS | ||
677 | CFLAGS | ||
678 | CC | ||
679 | MAINT | ||
680 | MAINTAINER_MODE_FALSE | ||
681 | MAINTAINER_MODE_TRUE | ||
682 | AM_BACKSLASH | ||
683 | AM_DEFAULT_VERBOSITY | ||
684 | AM_DEFAULT_V | ||
685 | AM_V | ||
686 | am__untar | ||
687 | am__tar | ||
688 | AMTAR | ||
689 | am__leading_dot | ||
690 | SET_MAKE | ||
691 | AWK | ||
692 | mkdir_p | ||
693 | MKDIR_P | ||
694 | INSTALL_STRIP_PROGRAM | ||
695 | STRIP | ||
696 | install_sh | ||
697 | MAKEINFO | ||
698 | AUTOHEADER | ||
699 | AUTOMAKE | ||
700 | AUTOCONF | ||
701 | ACLOCAL | ||
702 | VERSION | ||
703 | PACKAGE | ||
704 | CYGPATH_W | ||
705 | am__isrc | ||
706 | INSTALL_DATA | ||
707 | INSTALL_SCRIPT | ||
708 | INSTALL_PROGRAM | ||
709 | target_os | ||
710 | target_vendor | ||
711 | target_cpu | ||
712 | target | ||
713 | host_os | ||
714 | host_vendor | ||
715 | host_cpu | ||
716 | host | ||
717 | build_os | ||
718 | build_vendor | ||
719 | build_cpu | ||
720 | build | ||
721 | target_alias | ||
722 | host_alias | ||
723 | build_alias | ||
724 | LIBS | ||
725 | ECHO_T | ||
726 | ECHO_N | ||
727 | ECHO_C | ||
728 | DEFS | ||
729 | mandir | ||
730 | localedir | ||
731 | libdir | ||
732 | psdir | ||
733 | pdfdir | ||
734 | dvidir | ||
735 | htmldir | ||
736 | infodir | ||
737 | docdir | ||
738 | oldincludedir | ||
739 | includedir | ||
740 | localstatedir | ||
741 | sharedstatedir | ||
742 | sysconfdir | ||
743 | datadir | ||
744 | datarootdir | ||
745 | libexecdir | ||
746 | sbindir | ||
747 | bindir | ||
748 | program_transform_name | ||
749 | prefix | ||
750 | exec_prefix | ||
751 | PACKAGE_URL | ||
752 | PACKAGE_BUGREPORT | ||
753 | PACKAGE_STRING | ||
754 | PACKAGE_VERSION | ||
755 | PACKAGE_TARNAME | ||
756 | PACKAGE_NAME | ||
757 | PATH_SEPARATOR | ||
758 | SHELL' | ||
759 | ac_subst_files='' | ||
760 | ac_user_opts=' | ||
761 | enable_option_checking | ||
762 | enable_silent_rules | ||
763 | enable_maintainer_mode | ||
764 | enable_dependency_tracking | ||
765 | enable_ld_version_script | ||
766 | enable_shared | ||
767 | enable_static | ||
768 | with_pic | ||
769 | enable_fast_install | ||
770 | with_gnu_ld | ||
771 | with_sysroot | ||
772 | enable_libtool_lock | ||
773 | enable_maxmem | ||
774 | ' | ||
775 | ac_precious_vars='build_alias | ||
776 | host_alias | ||
777 | target_alias | ||
778 | CC | ||
779 | CFLAGS | ||
780 | LDFLAGS | ||
781 | LIBS | ||
782 | CPPFLAGS | ||
783 | CPP' | ||
784 | |||
785 | |||
786 | # Initialize some variables set by options. | ||
787 | ac_init_help= | ||
788 | ac_init_version=false | ||
789 | ac_unrecognized_opts= | ||
790 | ac_unrecognized_sep= | ||
791 | # The variables have the same names as the options, with | ||
792 | # dashes changed to underlines. | ||
793 | cache_file=/dev/null | ||
794 | exec_prefix=NONE | ||
795 | no_create= | ||
796 | no_recursion= | ||
797 | prefix=NONE | ||
798 | program_prefix=NONE | ||
799 | program_suffix=NONE | ||
800 | program_transform_name=s,x,x, | ||
801 | silent= | ||
802 | site= | ||
803 | srcdir= | ||
804 | verbose= | ||
805 | x_includes=NONE | ||
806 | x_libraries=NONE | ||
807 | |||
808 | # Installation directory options. | ||
809 | # These are left unexpanded so users can "make install exec_prefix=/foo" | ||
810 | # and all the variables that are supposed to be based on exec_prefix | ||
811 | # by default will actually change. | ||
812 | # Use braces instead of parens because sh, perl, etc. also accept them. | ||
813 | # (The list follows the same order as the GNU Coding Standards.) | ||
814 | bindir='${exec_prefix}/bin' | ||
815 | sbindir='${exec_prefix}/sbin' | ||
816 | libexecdir='${exec_prefix}/libexec' | ||
817 | datarootdir='${prefix}/share' | ||
818 | datadir='${datarootdir}' | ||
819 | sysconfdir='${prefix}/etc' | ||
820 | sharedstatedir='${prefix}/com' | ||
821 | localstatedir='${prefix}/var' | ||
822 | includedir='${prefix}/include' | ||
823 | oldincludedir='/usr/include' | ||
824 | docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' | ||
825 | infodir='${datarootdir}/info' | ||
826 | htmldir='${docdir}' | ||
827 | dvidir='${docdir}' | ||
828 | pdfdir='${docdir}' | ||
829 | psdir='${docdir}' | ||
830 | libdir='${exec_prefix}/lib' | ||
831 | localedir='${datarootdir}/locale' | ||
832 | mandir='${datarootdir}/man' | ||
833 | |||
834 | ac_prev= | ||
835 | ac_dashdash= | ||
836 | for ac_option | ||
837 | do | ||
838 | # If the previous option needs an argument, assign it. | ||
839 | if test -n "$ac_prev"; then | ||
840 | eval $ac_prev=\$ac_option | ||
841 | ac_prev= | ||
842 | continue | ||
843 | fi | ||
844 | |||
845 | case $ac_option in | ||
846 | *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; | ||
847 | *=) ac_optarg= ;; | ||
848 | *) ac_optarg=yes ;; | ||
849 | esac | ||
850 | |||
851 | # Accept the important Cygnus configure options, so we can diagnose typos. | ||
852 | |||
853 | case $ac_dashdash$ac_option in | ||
854 | --) | ||
855 | ac_dashdash=yes ;; | ||
856 | |||
857 | -bindir | --bindir | --bindi | --bind | --bin | --bi) | ||
858 | ac_prev=bindir ;; | ||
859 | -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) | ||
860 | bindir=$ac_optarg ;; | ||
861 | |||
862 | -build | --build | --buil | --bui | --bu) | ||
863 | ac_prev=build_alias ;; | ||
864 | -build=* | --build=* | --buil=* | --bui=* | --bu=*) | ||
865 | build_alias=$ac_optarg ;; | ||
866 | |||
867 | -cache-file | --cache-file | --cache-fil | --cache-fi \ | ||
868 | | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) | ||
869 | ac_prev=cache_file ;; | ||
870 | -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | ||
871 | | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) | ||
872 | cache_file=$ac_optarg ;; | ||
873 | |||
874 | --config-cache | -C) | ||
875 | cache_file=config.cache ;; | ||
876 | |||
877 | -datadir | --datadir | --datadi | --datad) | ||
878 | ac_prev=datadir ;; | ||
879 | -datadir=* | --datadir=* | --datadi=* | --datad=*) | ||
880 | datadir=$ac_optarg ;; | ||
881 | |||
882 | -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | ||
883 | | --dataroo | --dataro | --datar) | ||
884 | ac_prev=datarootdir ;; | ||
885 | -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | ||
886 | | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) | ||
887 | datarootdir=$ac_optarg ;; | ||
888 | |||
889 | -disable-* | --disable-*) | ||
890 | ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` | ||
891 | # Reject names that are not valid shell variable names. | ||
892 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | ||
893 | as_fn_error $? "invalid feature name: $ac_useropt" | ||
894 | ac_useropt_orig=$ac_useropt | ||
895 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | ||
896 | case $ac_user_opts in | ||
897 | *" | ||
898 | "enable_$ac_useropt" | ||
899 | "*) ;; | ||
900 | *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" | ||
901 | ac_unrecognized_sep=', ';; | ||
902 | esac | ||
903 | eval enable_$ac_useropt=no ;; | ||
904 | |||
905 | -docdir | --docdir | --docdi | --doc | --do) | ||
906 | ac_prev=docdir ;; | ||
907 | -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) | ||
908 | docdir=$ac_optarg ;; | ||
909 | |||
910 | -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) | ||
911 | ac_prev=dvidir ;; | ||
912 | -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) | ||
913 | dvidir=$ac_optarg ;; | ||
914 | |||
915 | -enable-* | --enable-*) | ||
916 | ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` | ||
917 | # Reject names that are not valid shell variable names. | ||
918 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | ||
919 | as_fn_error $? "invalid feature name: $ac_useropt" | ||
920 | ac_useropt_orig=$ac_useropt | ||
921 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | ||
922 | case $ac_user_opts in | ||
923 | *" | ||
924 | "enable_$ac_useropt" | ||
925 | "*) ;; | ||
926 | *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" | ||
927 | ac_unrecognized_sep=', ';; | ||
928 | esac | ||
929 | eval enable_$ac_useropt=\$ac_optarg ;; | ||
930 | |||
931 | -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | ||
932 | | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | ||
933 | | --exec | --exe | --ex) | ||
934 | ac_prev=exec_prefix ;; | ||
935 | -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | ||
936 | | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | ||
937 | | --exec=* | --exe=* | --ex=*) | ||
938 | exec_prefix=$ac_optarg ;; | ||
939 | |||
940 | -gas | --gas | --ga | --g) | ||
941 | # Obsolete; use --with-gas. | ||
942 | with_gas=yes ;; | ||
943 | |||
944 | -help | --help | --hel | --he | -h) | ||
945 | ac_init_help=long ;; | ||
946 | -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) | ||
947 | ac_init_help=recursive ;; | ||
948 | -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) | ||
949 | ac_init_help=short ;; | ||
950 | |||
951 | -host | --host | --hos | --ho) | ||
952 | ac_prev=host_alias ;; | ||
953 | -host=* | --host=* | --hos=* | --ho=*) | ||
954 | host_alias=$ac_optarg ;; | ||
955 | |||
956 | -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) | ||
957 | ac_prev=htmldir ;; | ||
958 | -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | ||
959 | | --ht=*) | ||
960 | htmldir=$ac_optarg ;; | ||
961 | |||
962 | -includedir | --includedir | --includedi | --included | --include \ | ||
963 | | --includ | --inclu | --incl | --inc) | ||
964 | ac_prev=includedir ;; | ||
965 | -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | ||
966 | | --includ=* | --inclu=* | --incl=* | --inc=*) | ||
967 | includedir=$ac_optarg ;; | ||
968 | |||
969 | -infodir | --infodir | --infodi | --infod | --info | --inf) | ||
970 | ac_prev=infodir ;; | ||
971 | -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) | ||
972 | infodir=$ac_optarg ;; | ||
973 | |||
974 | -libdir | --libdir | --libdi | --libd) | ||
975 | ac_prev=libdir ;; | ||
976 | -libdir=* | --libdir=* | --libdi=* | --libd=*) | ||
977 | libdir=$ac_optarg ;; | ||
978 | |||
979 | -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | ||
980 | | --libexe | --libex | --libe) | ||
981 | ac_prev=libexecdir ;; | ||
982 | -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | ||
983 | | --libexe=* | --libex=* | --libe=*) | ||
984 | libexecdir=$ac_optarg ;; | ||
985 | |||
986 | -localedir | --localedir | --localedi | --localed | --locale) | ||
987 | ac_prev=localedir ;; | ||
988 | -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) | ||
989 | localedir=$ac_optarg ;; | ||
990 | |||
991 | -localstatedir | --localstatedir | --localstatedi | --localstated \ | ||
992 | | --localstate | --localstat | --localsta | --localst | --locals) | ||
993 | ac_prev=localstatedir ;; | ||
994 | -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | ||
995 | | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) | ||
996 | localstatedir=$ac_optarg ;; | ||
997 | |||
998 | -mandir | --mandir | --mandi | --mand | --man | --ma | --m) | ||
999 | ac_prev=mandir ;; | ||
1000 | -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) | ||
1001 | mandir=$ac_optarg ;; | ||
1002 | |||
1003 | -nfp | --nfp | --nf) | ||
1004 | # Obsolete; use --without-fp. | ||
1005 | with_fp=no ;; | ||
1006 | |||
1007 | -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | ||
1008 | | --no-cr | --no-c | -n) | ||
1009 | no_create=yes ;; | ||
1010 | |||
1011 | -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | ||
1012 | | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) | ||
1013 | no_recursion=yes ;; | ||
1014 | |||
1015 | -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | ||
1016 | | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | ||
1017 | | --oldin | --oldi | --old | --ol | --o) | ||
1018 | ac_prev=oldincludedir ;; | ||
1019 | -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | ||
1020 | | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | ||
1021 | | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) | ||
1022 | oldincludedir=$ac_optarg ;; | ||
1023 | |||
1024 | -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) | ||
1025 | ac_prev=prefix ;; | ||
1026 | -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) | ||
1027 | prefix=$ac_optarg ;; | ||
1028 | |||
1029 | -program-prefix | --program-prefix | --program-prefi | --program-pref \ | ||
1030 | | --program-pre | --program-pr | --program-p) | ||
1031 | ac_prev=program_prefix ;; | ||
1032 | -program-prefix=* | --program-prefix=* | --program-prefi=* \ | ||
1033 | | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) | ||
1034 | program_prefix=$ac_optarg ;; | ||
1035 | |||
1036 | -program-suffix | --program-suffix | --program-suffi | --program-suff \ | ||
1037 | | --program-suf | --program-su | --program-s) | ||
1038 | ac_prev=program_suffix ;; | ||
1039 | -program-suffix=* | --program-suffix=* | --program-suffi=* \ | ||
1040 | | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) | ||
1041 | program_suffix=$ac_optarg ;; | ||
1042 | |||
1043 | -program-transform-name | --program-transform-name \ | ||
1044 | | --program-transform-nam | --program-transform-na \ | ||
1045 | | --program-transform-n | --program-transform- \ | ||
1046 | | --program-transform | --program-transfor \ | ||
1047 | | --program-transfo | --program-transf \ | ||
1048 | | --program-trans | --program-tran \ | ||
1049 | | --progr-tra | --program-tr | --program-t) | ||
1050 | ac_prev=program_transform_name ;; | ||
1051 | -program-transform-name=* | --program-transform-name=* \ | ||
1052 | | --program-transform-nam=* | --program-transform-na=* \ | ||
1053 | | --program-transform-n=* | --program-transform-=* \ | ||
1054 | | --program-transform=* | --program-transfor=* \ | ||
1055 | | --program-transfo=* | --program-transf=* \ | ||
1056 | | --program-trans=* | --program-tran=* \ | ||
1057 | | --progr-tra=* | --program-tr=* | --program-t=*) | ||
1058 | program_transform_name=$ac_optarg ;; | ||
1059 | |||
1060 | -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) | ||
1061 | ac_prev=pdfdir ;; | ||
1062 | -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) | ||
1063 | pdfdir=$ac_optarg ;; | ||
1064 | |||
1065 | -psdir | --psdir | --psdi | --psd | --ps) | ||
1066 | ac_prev=psdir ;; | ||
1067 | -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) | ||
1068 | psdir=$ac_optarg ;; | ||
1069 | |||
1070 | -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | ||
1071 | | -silent | --silent | --silen | --sile | --sil) | ||
1072 | silent=yes ;; | ||
1073 | |||
1074 | -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) | ||
1075 | ac_prev=sbindir ;; | ||
1076 | -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | ||
1077 | | --sbi=* | --sb=*) | ||
1078 | sbindir=$ac_optarg ;; | ||
1079 | |||
1080 | -sharedstatedir | --sharedstatedir | --sharedstatedi \ | ||
1081 | | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | ||
1082 | | --sharedst | --shareds | --shared | --share | --shar \ | ||
1083 | | --sha | --sh) | ||
1084 | ac_prev=sharedstatedir ;; | ||
1085 | -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | ||
1086 | | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | ||
1087 | | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | ||
1088 | | --sha=* | --sh=*) | ||
1089 | sharedstatedir=$ac_optarg ;; | ||
1090 | |||
1091 | -site | --site | --sit) | ||
1092 | ac_prev=site ;; | ||
1093 | -site=* | --site=* | --sit=*) | ||
1094 | site=$ac_optarg ;; | ||
1095 | |||
1096 | -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) | ||
1097 | ac_prev=srcdir ;; | ||
1098 | -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) | ||
1099 | srcdir=$ac_optarg ;; | ||
1100 | |||
1101 | -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | ||
1102 | | --syscon | --sysco | --sysc | --sys | --sy) | ||
1103 | ac_prev=sysconfdir ;; | ||
1104 | -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | ||
1105 | | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) | ||
1106 | sysconfdir=$ac_optarg ;; | ||
1107 | |||
1108 | -target | --target | --targe | --targ | --tar | --ta | --t) | ||
1109 | ac_prev=target_alias ;; | ||
1110 | -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) | ||
1111 | target_alias=$ac_optarg ;; | ||
1112 | |||
1113 | -v | -verbose | --verbose | --verbos | --verbo | --verb) | ||
1114 | verbose=yes ;; | ||
1115 | |||
1116 | -version | --version | --versio | --versi | --vers | -V) | ||
1117 | ac_init_version=: ;; | ||
1118 | |||
1119 | -with-* | --with-*) | ||
1120 | ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` | ||
1121 | # Reject names that are not valid shell variable names. | ||
1122 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | ||
1123 | as_fn_error $? "invalid package name: $ac_useropt" | ||
1124 | ac_useropt_orig=$ac_useropt | ||
1125 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | ||
1126 | case $ac_user_opts in | ||
1127 | *" | ||
1128 | "with_$ac_useropt" | ||
1129 | "*) ;; | ||
1130 | *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" | ||
1131 | ac_unrecognized_sep=', ';; | ||
1132 | esac | ||
1133 | eval with_$ac_useropt=\$ac_optarg ;; | ||
1134 | |||
1135 | -without-* | --without-*) | ||
1136 | ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` | ||
1137 | # Reject names that are not valid shell variable names. | ||
1138 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | ||
1139 | as_fn_error $? "invalid package name: $ac_useropt" | ||
1140 | ac_useropt_orig=$ac_useropt | ||
1141 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | ||
1142 | case $ac_user_opts in | ||
1143 | *" | ||
1144 | "with_$ac_useropt" | ||
1145 | "*) ;; | ||
1146 | *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" | ||
1147 | ac_unrecognized_sep=', ';; | ||
1148 | esac | ||
1149 | eval with_$ac_useropt=no ;; | ||
1150 | |||
1151 | --x) | ||
1152 | # Obsolete; use --with-x. | ||
1153 | with_x=yes ;; | ||
1154 | |||
1155 | -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | ||
1156 | | --x-incl | --x-inc | --x-in | --x-i) | ||
1157 | ac_prev=x_includes ;; | ||
1158 | -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | ||
1159 | | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) | ||
1160 | x_includes=$ac_optarg ;; | ||
1161 | |||
1162 | -x-libraries | --x-libraries | --x-librarie | --x-librari \ | ||
1163 | | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) | ||
1164 | ac_prev=x_libraries ;; | ||
1165 | -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | ||
1166 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) | ||
1167 | x_libraries=$ac_optarg ;; | ||
1168 | |||
1169 | -*) as_fn_error $? "unrecognized option: \`$ac_option' | ||
1170 | Try \`$0 --help' for more information" | ||
1171 | ;; | ||
1172 | |||
1173 | *=*) | ||
1174 | ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` | ||
1175 | # Reject names that are not valid shell variable names. | ||
1176 | case $ac_envvar in #( | ||
1177 | '' | [0-9]* | *[!_$as_cr_alnum]* ) | ||
1178 | as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; | ||
1179 | esac | ||
1180 | eval $ac_envvar=\$ac_optarg | ||
1181 | export $ac_envvar ;; | ||
1182 | |||
1183 | *) | ||
1184 | # FIXME: should be removed in autoconf 3.0. | ||
1185 | $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 | ||
1186 | expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && | ||
1187 | $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 | ||
1188 | : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" | ||
1189 | ;; | ||
1190 | |||
1191 | esac | ||
1192 | done | ||
1193 | |||
1194 | if test -n "$ac_prev"; then | ||
1195 | ac_option=--`echo $ac_prev | sed 's/_/-/g'` | ||
1196 | as_fn_error $? "missing argument to $ac_option" | ||
1197 | fi | ||
1198 | |||
1199 | if test -n "$ac_unrecognized_opts"; then | ||
1200 | case $enable_option_checking in | ||
1201 | no) ;; | ||
1202 | fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; | ||
1203 | *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; | ||
1204 | esac | ||
1205 | fi | ||
1206 | |||
1207 | # Check all directory arguments for consistency. | ||
1208 | for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ | ||
1209 | datadir sysconfdir sharedstatedir localstatedir includedir \ | ||
1210 | oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ | ||
1211 | libdir localedir mandir | ||
1212 | do | ||
1213 | eval ac_val=\$$ac_var | ||
1214 | # Remove trailing slashes. | ||
1215 | case $ac_val in | ||
1216 | */ ) | ||
1217 | ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` | ||
1218 | eval $ac_var=\$ac_val;; | ||
1219 | esac | ||
1220 | # Be sure to have absolute directory names. | ||
1221 | case $ac_val in | ||
1222 | [\\/$]* | ?:[\\/]* ) continue;; | ||
1223 | NONE | '' ) case $ac_var in *prefix ) continue;; esac;; | ||
1224 | esac | ||
1225 | as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" | ||
1226 | done | ||
1227 | |||
1228 | # There might be people who depend on the old broken behavior: `$host' | ||
1229 | # used to hold the argument of --host etc. | ||
1230 | # FIXME: To remove some day. | ||
1231 | build=$build_alias | ||
1232 | host=$host_alias | ||
1233 | target=$target_alias | ||
1234 | |||
1235 | # FIXME: To remove some day. | ||
1236 | if test "x$host_alias" != x; then | ||
1237 | if test "x$build_alias" = x; then | ||
1238 | cross_compiling=maybe | ||
1239 | elif test "x$build_alias" != "x$host_alias"; then | ||
1240 | cross_compiling=yes | ||
1241 | fi | ||
1242 | fi | ||
1243 | |||
1244 | ac_tool_prefix= | ||
1245 | test -n "$host_alias" && ac_tool_prefix=$host_alias- | ||
1246 | |||
1247 | test "$silent" = yes && exec 6>/dev/null | ||
1248 | |||
1249 | |||
1250 | ac_pwd=`pwd` && test -n "$ac_pwd" && | ||
1251 | ac_ls_di=`ls -di .` && | ||
1252 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || | ||
1253 | as_fn_error $? "working directory cannot be determined" | ||
1254 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || | ||
1255 | as_fn_error $? "pwd does not report name of working directory" | ||
1256 | |||
1257 | |||
1258 | # Find the source files, if location was not specified. | ||
1259 | if test -z "$srcdir"; then | ||
1260 | ac_srcdir_defaulted=yes | ||
1261 | # Try the directory containing this script, then the parent directory. | ||
1262 | ac_confdir=`$as_dirname -- "$as_myself" || | ||
1263 | $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
1264 | X"$as_myself" : 'X\(//\)[^/]' \| \ | ||
1265 | X"$as_myself" : 'X\(//\)$' \| \ | ||
1266 | X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || | ||
1267 | $as_echo X"$as_myself" | | ||
1268 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||
1269 | s//\1/ | ||
1270 | q | ||
1271 | } | ||
1272 | /^X\(\/\/\)[^/].*/{ | ||
1273 | s//\1/ | ||
1274 | q | ||
1275 | } | ||
1276 | /^X\(\/\/\)$/{ | ||
1277 | s//\1/ | ||
1278 | q | ||
1279 | } | ||
1280 | /^X\(\/\).*/{ | ||
1281 | s//\1/ | ||
1282 | q | ||
1283 | } | ||
1284 | s/.*/./; q'` | ||
1285 | srcdir=$ac_confdir | ||
1286 | if test ! -r "$srcdir/$ac_unique_file"; then | ||
1287 | srcdir=.. | ||
1288 | fi | ||
1289 | else | ||
1290 | ac_srcdir_defaulted=no | ||
1291 | fi | ||
1292 | if test ! -r "$srcdir/$ac_unique_file"; then | ||
1293 | test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." | ||
1294 | as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" | ||
1295 | fi | ||
1296 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" | ||
1297 | ac_abs_confdir=`( | ||
1298 | cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" | ||
1299 | pwd)` | ||
1300 | # When building in place, set srcdir=. | ||
1301 | if test "$ac_abs_confdir" = "$ac_pwd"; then | ||
1302 | srcdir=. | ||
1303 | fi | ||
1304 | # Remove unnecessary trailing slashes from srcdir. | ||
1305 | # Double slashes in file names in object file debugging info | ||
1306 | # mess up M-x gdb in Emacs. | ||
1307 | case $srcdir in | ||
1308 | */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; | ||
1309 | esac | ||
1310 | for ac_var in $ac_precious_vars; do | ||
1311 | eval ac_env_${ac_var}_set=\${${ac_var}+set} | ||
1312 | eval ac_env_${ac_var}_value=\$${ac_var} | ||
1313 | eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} | ||
1314 | eval ac_cv_env_${ac_var}_value=\$${ac_var} | ||
1315 | done | ||
1316 | |||
1317 | # | ||
1318 | # Report the --help message. | ||
1319 | # | ||
1320 | if test "$ac_init_help" = "long"; then | ||
1321 | # Omit some internal or obsolete options to make the list less imposing. | ||
1322 | # This message is too long to be a string in the A/UX 3.1 sh. | ||
1323 | cat <<_ACEOF | ||
1324 | \`configure' configures libjpeg 9.1.0 to adapt to many kinds of systems. | ||
1325 | |||
1326 | Usage: $0 [OPTION]... [VAR=VALUE]... | ||
1327 | |||
1328 | To assign environment variables (e.g., CC, CFLAGS...), specify them as | ||
1329 | VAR=VALUE. See below for descriptions of some of the useful variables. | ||
1330 | |||
1331 | Defaults for the options are specified in brackets. | ||
1332 | |||
1333 | Configuration: | ||
1334 | -h, --help display this help and exit | ||
1335 | --help=short display options specific to this package | ||
1336 | --help=recursive display the short help of all the included packages | ||
1337 | -V, --version display version information and exit | ||
1338 | -q, --quiet, --silent do not print \`checking ...' messages | ||
1339 | --cache-file=FILE cache test results in FILE [disabled] | ||
1340 | -C, --config-cache alias for \`--cache-file=config.cache' | ||
1341 | -n, --no-create do not create output files | ||
1342 | --srcdir=DIR find the sources in DIR [configure dir or \`..'] | ||
1343 | |||
1344 | Installation directories: | ||
1345 | --prefix=PREFIX install architecture-independent files in PREFIX | ||
1346 | [$ac_default_prefix] | ||
1347 | --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX | ||
1348 | [PREFIX] | ||
1349 | |||
1350 | By default, \`make install' will install all the files in | ||
1351 | \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify | ||
1352 | an installation prefix other than \`$ac_default_prefix' using \`--prefix', | ||
1353 | for instance \`--prefix=\$HOME'. | ||
1354 | |||
1355 | For better control, use the options below. | ||
1356 | |||
1357 | Fine tuning of the installation directories: | ||
1358 | --bindir=DIR user executables [EPREFIX/bin] | ||
1359 | --sbindir=DIR system admin executables [EPREFIX/sbin] | ||
1360 | --libexecdir=DIR program executables [EPREFIX/libexec] | ||
1361 | --sysconfdir=DIR read-only single-machine data [PREFIX/etc] | ||
1362 | --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] | ||
1363 | --localstatedir=DIR modifiable single-machine data [PREFIX/var] | ||
1364 | --libdir=DIR object code libraries [EPREFIX/lib] | ||
1365 | --includedir=DIR C header files [PREFIX/include] | ||
1366 | --oldincludedir=DIR C header files for non-gcc [/usr/include] | ||
1367 | --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] | ||
1368 | --datadir=DIR read-only architecture-independent data [DATAROOTDIR] | ||
1369 | --infodir=DIR info documentation [DATAROOTDIR/info] | ||
1370 | --localedir=DIR locale-dependent data [DATAROOTDIR/locale] | ||
1371 | --mandir=DIR man documentation [DATAROOTDIR/man] | ||
1372 | --docdir=DIR documentation root [DATAROOTDIR/doc/libjpeg] | ||
1373 | --htmldir=DIR html documentation [DOCDIR] | ||
1374 | --dvidir=DIR dvi documentation [DOCDIR] | ||
1375 | --pdfdir=DIR pdf documentation [DOCDIR] | ||
1376 | --psdir=DIR ps documentation [DOCDIR] | ||
1377 | _ACEOF | ||
1378 | |||
1379 | cat <<\_ACEOF | ||
1380 | |||
1381 | Program names: | ||
1382 | --program-prefix=PREFIX prepend PREFIX to installed program names | ||
1383 | --program-suffix=SUFFIX append SUFFIX to installed program names | ||
1384 | --program-transform-name=PROGRAM run sed PROGRAM on installed program names | ||
1385 | |||
1386 | System types: | ||
1387 | --build=BUILD configure for building on BUILD [guessed] | ||
1388 | --host=HOST cross-compile to build programs to run on HOST [BUILD] | ||
1389 | --target=TARGET configure for building compilers for TARGET [HOST] | ||
1390 | _ACEOF | ||
1391 | fi | ||
1392 | |||
1393 | if test -n "$ac_init_help"; then | ||
1394 | case $ac_init_help in | ||
1395 | short | recursive ) echo "Configuration of libjpeg 9.1.0:";; | ||
1396 | esac | ||
1397 | cat <<\_ACEOF | ||
1398 | |||
1399 | Optional Features: | ||
1400 | --disable-option-checking ignore unrecognized --enable/--with options | ||
1401 | --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) | ||
1402 | --enable-FEATURE[=ARG] include FEATURE [ARG=yes] | ||
1403 | --enable-silent-rules less verbose build output (undo: "make V=1") | ||
1404 | --disable-silent-rules verbose build output (undo: "make V=0") | ||
1405 | --enable-maintainer-mode | ||
1406 | enable make rules and dependencies not useful (and | ||
1407 | sometimes confusing) to the casual installer | ||
1408 | --enable-dependency-tracking | ||
1409 | do not reject slow dependency extractors | ||
1410 | --disable-dependency-tracking | ||
1411 | speeds up one-time build | ||
1412 | --enable-ld-version-script | ||
1413 | enable linker version script (default is enabled | ||
1414 | when possible) | ||
1415 | --enable-shared[=PKGS] build shared libraries [default=yes] | ||
1416 | --enable-static[=PKGS] build static libraries [default=yes] | ||
1417 | --enable-fast-install[=PKGS] | ||
1418 | optimize for fast installation [default=yes] | ||
1419 | --disable-libtool-lock avoid locking (might break parallel builds) | ||
1420 | --enable-maxmem=N enable use of temp files, set max mem usage to N MB | ||
1421 | |||
1422 | Optional Packages: | ||
1423 | --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] | ||
1424 | --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) | ||
1425 | --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use | ||
1426 | both] | ||
1427 | --with-gnu-ld assume the C compiler uses GNU ld [default=no] | ||
1428 | --with-sysroot=DIR Search for dependent libraries within DIR | ||
1429 | (or the compiler's sysroot if not specified). | ||
1430 | |||
1431 | Some influential environment variables: | ||
1432 | CC C compiler command | ||
1433 | CFLAGS C compiler flags | ||
1434 | LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a | ||
1435 | nonstandard directory <lib dir> | ||
1436 | LIBS libraries to pass to the linker, e.g. -l<library> | ||
1437 | CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if | ||
1438 | you have headers in a nonstandard directory <include dir> | ||
1439 | CPP C preprocessor | ||
1440 | |||
1441 | Use these variables to override the choices made by `configure' or to help | ||
1442 | it to find libraries and programs with nonstandard names/locations. | ||
1443 | |||
1444 | Report bugs to the package provider. | ||
1445 | _ACEOF | ||
1446 | ac_status=$? | ||
1447 | fi | ||
1448 | |||
1449 | if test "$ac_init_help" = "recursive"; then | ||
1450 | # If there are subdirs, report their specific --help. | ||
1451 | for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue | ||
1452 | test -d "$ac_dir" || | ||
1453 | { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || | ||
1454 | continue | ||
1455 | ac_builddir=. | ||
1456 | |||
1457 | case "$ac_dir" in | ||
1458 | .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; | ||
1459 | *) | ||
1460 | ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` | ||
1461 | # A ".." for each directory in $ac_dir_suffix. | ||
1462 | ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` | ||
1463 | case $ac_top_builddir_sub in | ||
1464 | "") ac_top_builddir_sub=. ac_top_build_prefix= ;; | ||
1465 | *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; | ||
1466 | esac ;; | ||
1467 | esac | ||
1468 | ac_abs_top_builddir=$ac_pwd | ||
1469 | ac_abs_builddir=$ac_pwd$ac_dir_suffix | ||
1470 | # for backward compatibility: | ||
1471 | ac_top_builddir=$ac_top_build_prefix | ||
1472 | |||
1473 | case $srcdir in | ||
1474 | .) # We are building in place. | ||
1475 | ac_srcdir=. | ||
1476 | ac_top_srcdir=$ac_top_builddir_sub | ||
1477 | ac_abs_top_srcdir=$ac_pwd ;; | ||
1478 | [\\/]* | ?:[\\/]* ) # Absolute name. | ||
1479 | ac_srcdir=$srcdir$ac_dir_suffix; | ||
1480 | ac_top_srcdir=$srcdir | ||
1481 | ac_abs_top_srcdir=$srcdir ;; | ||
1482 | *) # Relative name. | ||
1483 | ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix | ||
1484 | ac_top_srcdir=$ac_top_build_prefix$srcdir | ||
1485 | ac_abs_top_srcdir=$ac_pwd/$srcdir ;; | ||
1486 | esac | ||
1487 | ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix | ||
1488 | |||
1489 | cd "$ac_dir" || { ac_status=$?; continue; } | ||
1490 | # Check for guested configure. | ||
1491 | if test -f "$ac_srcdir/configure.gnu"; then | ||
1492 | echo && | ||
1493 | $SHELL "$ac_srcdir/configure.gnu" --help=recursive | ||
1494 | elif test -f "$ac_srcdir/configure"; then | ||
1495 | echo && | ||
1496 | $SHELL "$ac_srcdir/configure" --help=recursive | ||
1497 | else | ||
1498 | $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 | ||
1499 | fi || ac_status=$? | ||
1500 | cd "$ac_pwd" || { ac_status=$?; break; } | ||
1501 | done | ||
1502 | fi | ||
1503 | |||
1504 | test -n "$ac_init_help" && exit $ac_status | ||
1505 | if $ac_init_version; then | ||
1506 | cat <<\_ACEOF | ||
1507 | libjpeg configure 9.1.0 | ||
1508 | generated by GNU Autoconf 2.69 | ||
1509 | |||
1510 | Copyright (C) 2012 Free Software Foundation, Inc. | ||
1511 | This configure script is free software; the Free Software Foundation | ||
1512 | gives unlimited permission to copy, distribute and modify it. | ||
1513 | _ACEOF | ||
1514 | exit | ||
1515 | fi | ||
1516 | |||
1517 | ## ------------------------ ## | ||
1518 | ## Autoconf initialization. ## | ||
1519 | ## ------------------------ ## | ||
1520 | |||
1521 | # ac_fn_c_try_compile LINENO | ||
1522 | # -------------------------- | ||
1523 | # Try to compile conftest.$ac_ext, and return whether this succeeded. | ||
1524 | ac_fn_c_try_compile () | ||
1525 | { | ||
1526 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1527 | rm -f conftest.$ac_objext | ||
1528 | if { { ac_try="$ac_compile" | ||
1529 | case "(($ac_try" in | ||
1530 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1531 | *) ac_try_echo=$ac_try;; | ||
1532 | esac | ||
1533 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1534 | $as_echo "$ac_try_echo"; } >&5 | ||
1535 | (eval "$ac_compile") 2>conftest.err | ||
1536 | ac_status=$? | ||
1537 | if test -s conftest.err; then | ||
1538 | grep -v '^ *+' conftest.err >conftest.er1 | ||
1539 | cat conftest.er1 >&5 | ||
1540 | mv -f conftest.er1 conftest.err | ||
1541 | fi | ||
1542 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1543 | test $ac_status = 0; } && { | ||
1544 | test -z "$ac_c_werror_flag" || | ||
1545 | test ! -s conftest.err | ||
1546 | } && test -s conftest.$ac_objext; then : | ||
1547 | ac_retval=0 | ||
1548 | else | ||
1549 | $as_echo "$as_me: failed program was:" >&5 | ||
1550 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
1551 | |||
1552 | ac_retval=1 | ||
1553 | fi | ||
1554 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1555 | as_fn_set_status $ac_retval | ||
1556 | |||
1557 | } # ac_fn_c_try_compile | ||
1558 | |||
1559 | # ac_fn_c_try_cpp LINENO | ||
1560 | # ---------------------- | ||
1561 | # Try to preprocess conftest.$ac_ext, and return whether this succeeded. | ||
1562 | ac_fn_c_try_cpp () | ||
1563 | { | ||
1564 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1565 | if { { ac_try="$ac_cpp conftest.$ac_ext" | ||
1566 | case "(($ac_try" in | ||
1567 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1568 | *) ac_try_echo=$ac_try;; | ||
1569 | esac | ||
1570 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1571 | $as_echo "$ac_try_echo"; } >&5 | ||
1572 | (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err | ||
1573 | ac_status=$? | ||
1574 | if test -s conftest.err; then | ||
1575 | grep -v '^ *+' conftest.err >conftest.er1 | ||
1576 | cat conftest.er1 >&5 | ||
1577 | mv -f conftest.er1 conftest.err | ||
1578 | fi | ||
1579 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1580 | test $ac_status = 0; } > conftest.i && { | ||
1581 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | ||
1582 | test ! -s conftest.err | ||
1583 | }; then : | ||
1584 | ac_retval=0 | ||
1585 | else | ||
1586 | $as_echo "$as_me: failed program was:" >&5 | ||
1587 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
1588 | |||
1589 | ac_retval=1 | ||
1590 | fi | ||
1591 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1592 | as_fn_set_status $ac_retval | ||
1593 | |||
1594 | } # ac_fn_c_try_cpp | ||
1595 | |||
1596 | # ac_fn_c_try_link LINENO | ||
1597 | # ----------------------- | ||
1598 | # Try to link conftest.$ac_ext, and return whether this succeeded. | ||
1599 | ac_fn_c_try_link () | ||
1600 | { | ||
1601 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1602 | rm -f conftest.$ac_objext conftest$ac_exeext | ||
1603 | if { { ac_try="$ac_link" | ||
1604 | case "(($ac_try" in | ||
1605 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1606 | *) ac_try_echo=$ac_try;; | ||
1607 | esac | ||
1608 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1609 | $as_echo "$ac_try_echo"; } >&5 | ||
1610 | (eval "$ac_link") 2>conftest.err | ||
1611 | ac_status=$? | ||
1612 | if test -s conftest.err; then | ||
1613 | grep -v '^ *+' conftest.err >conftest.er1 | ||
1614 | cat conftest.er1 >&5 | ||
1615 | mv -f conftest.er1 conftest.err | ||
1616 | fi | ||
1617 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1618 | test $ac_status = 0; } && { | ||
1619 | test -z "$ac_c_werror_flag" || | ||
1620 | test ! -s conftest.err | ||
1621 | } && test -s conftest$ac_exeext && { | ||
1622 | test "$cross_compiling" = yes || | ||
1623 | test -x conftest$ac_exeext | ||
1624 | }; then : | ||
1625 | ac_retval=0 | ||
1626 | else | ||
1627 | $as_echo "$as_me: failed program was:" >&5 | ||
1628 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
1629 | |||
1630 | ac_retval=1 | ||
1631 | fi | ||
1632 | # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information | ||
1633 | # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would | ||
1634 | # interfere with the next link command; also delete a directory that is | ||
1635 | # left behind by Apple's compiler. We do this before executing the actions. | ||
1636 | rm -rf conftest.dSYM conftest_ipa8_conftest.oo | ||
1637 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1638 | as_fn_set_status $ac_retval | ||
1639 | |||
1640 | } # ac_fn_c_try_link | ||
1641 | |||
1642 | # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES | ||
1643 | # ------------------------------------------------------- | ||
1644 | # Tests whether HEADER exists, giving a warning if it cannot be compiled using | ||
1645 | # the include files in INCLUDES and setting the cache variable VAR | ||
1646 | # accordingly. | ||
1647 | ac_fn_c_check_header_mongrel () | ||
1648 | { | ||
1649 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1650 | if eval \${$3+:} false; then : | ||
1651 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1652 | $as_echo_n "checking for $2... " >&6; } | ||
1653 | if eval \${$3+:} false; then : | ||
1654 | $as_echo_n "(cached) " >&6 | ||
1655 | fi | ||
1656 | eval ac_res=\$$3 | ||
1657 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1658 | $as_echo "$ac_res" >&6; } | ||
1659 | else | ||
1660 | # Is the header compilable? | ||
1661 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 | ||
1662 | $as_echo_n "checking $2 usability... " >&6; } | ||
1663 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1664 | /* end confdefs.h. */ | ||
1665 | $4 | ||
1666 | #include <$2> | ||
1667 | _ACEOF | ||
1668 | if ac_fn_c_try_compile "$LINENO"; then : | ||
1669 | ac_header_compiler=yes | ||
1670 | else | ||
1671 | ac_header_compiler=no | ||
1672 | fi | ||
1673 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
1674 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 | ||
1675 | $as_echo "$ac_header_compiler" >&6; } | ||
1676 | |||
1677 | # Is the header present? | ||
1678 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 | ||
1679 | $as_echo_n "checking $2 presence... " >&6; } | ||
1680 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1681 | /* end confdefs.h. */ | ||
1682 | #include <$2> | ||
1683 | _ACEOF | ||
1684 | if ac_fn_c_try_cpp "$LINENO"; then : | ||
1685 | ac_header_preproc=yes | ||
1686 | else | ||
1687 | ac_header_preproc=no | ||
1688 | fi | ||
1689 | rm -f conftest.err conftest.i conftest.$ac_ext | ||
1690 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 | ||
1691 | $as_echo "$ac_header_preproc" >&6; } | ||
1692 | |||
1693 | # So? What about this header? | ||
1694 | case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( | ||
1695 | yes:no: ) | ||
1696 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
1697 | $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
1698 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 | ||
1699 | $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} | ||
1700 | ;; | ||
1701 | no:yes:* ) | ||
1702 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 | ||
1703 | $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} | ||
1704 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 | ||
1705 | $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} | ||
1706 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 | ||
1707 | $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} | ||
1708 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 | ||
1709 | $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} | ||
1710 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 | ||
1711 | $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} | ||
1712 | ;; | ||
1713 | esac | ||
1714 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1715 | $as_echo_n "checking for $2... " >&6; } | ||
1716 | if eval \${$3+:} false; then : | ||
1717 | $as_echo_n "(cached) " >&6 | ||
1718 | else | ||
1719 | eval "$3=\$ac_header_compiler" | ||
1720 | fi | ||
1721 | eval ac_res=\$$3 | ||
1722 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1723 | $as_echo "$ac_res" >&6; } | ||
1724 | fi | ||
1725 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1726 | |||
1727 | } # ac_fn_c_check_header_mongrel | ||
1728 | |||
1729 | # ac_fn_c_try_run LINENO | ||
1730 | # ---------------------- | ||
1731 | # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes | ||
1732 | # that executables *can* be run. | ||
1733 | ac_fn_c_try_run () | ||
1734 | { | ||
1735 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1736 | if { { ac_try="$ac_link" | ||
1737 | case "(($ac_try" in | ||
1738 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1739 | *) ac_try_echo=$ac_try;; | ||
1740 | esac | ||
1741 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1742 | $as_echo "$ac_try_echo"; } >&5 | ||
1743 | (eval "$ac_link") 2>&5 | ||
1744 | ac_status=$? | ||
1745 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1746 | test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' | ||
1747 | { { case "(($ac_try" in | ||
1748 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
1749 | *) ac_try_echo=$ac_try;; | ||
1750 | esac | ||
1751 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
1752 | $as_echo "$ac_try_echo"; } >&5 | ||
1753 | (eval "$ac_try") 2>&5 | ||
1754 | ac_status=$? | ||
1755 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
1756 | test $ac_status = 0; }; }; then : | ||
1757 | ac_retval=0 | ||
1758 | else | ||
1759 | $as_echo "$as_me: program exited with status $ac_status" >&5 | ||
1760 | $as_echo "$as_me: failed program was:" >&5 | ||
1761 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
1762 | |||
1763 | ac_retval=$ac_status | ||
1764 | fi | ||
1765 | rm -rf conftest.dSYM conftest_ipa8_conftest.oo | ||
1766 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1767 | as_fn_set_status $ac_retval | ||
1768 | |||
1769 | } # ac_fn_c_try_run | ||
1770 | |||
1771 | # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES | ||
1772 | # ------------------------------------------------------- | ||
1773 | # Tests whether HEADER exists and can be compiled using the include files in | ||
1774 | # INCLUDES, setting the cache variable VAR accordingly. | ||
1775 | ac_fn_c_check_header_compile () | ||
1776 | { | ||
1777 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1778 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1779 | $as_echo_n "checking for $2... " >&6; } | ||
1780 | if eval \${$3+:} false; then : | ||
1781 | $as_echo_n "(cached) " >&6 | ||
1782 | else | ||
1783 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1784 | /* end confdefs.h. */ | ||
1785 | $4 | ||
1786 | #include <$2> | ||
1787 | _ACEOF | ||
1788 | if ac_fn_c_try_compile "$LINENO"; then : | ||
1789 | eval "$3=yes" | ||
1790 | else | ||
1791 | eval "$3=no" | ||
1792 | fi | ||
1793 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
1794 | fi | ||
1795 | eval ac_res=\$$3 | ||
1796 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1797 | $as_echo "$ac_res" >&6; } | ||
1798 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1799 | |||
1800 | } # ac_fn_c_check_header_compile | ||
1801 | |||
1802 | # ac_fn_c_check_func LINENO FUNC VAR | ||
1803 | # ---------------------------------- | ||
1804 | # Tests whether FUNC exists, setting the cache variable VAR accordingly | ||
1805 | ac_fn_c_check_func () | ||
1806 | { | ||
1807 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
1808 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | ||
1809 | $as_echo_n "checking for $2... " >&6; } | ||
1810 | if eval \${$3+:} false; then : | ||
1811 | $as_echo_n "(cached) " >&6 | ||
1812 | else | ||
1813 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
1814 | /* end confdefs.h. */ | ||
1815 | /* Define $2 to an innocuous variant, in case <limits.h> declares $2. | ||
1816 | For example, HP-UX 11i <limits.h> declares gettimeofday. */ | ||
1817 | #define $2 innocuous_$2 | ||
1818 | |||
1819 | /* System header to define __stub macros and hopefully few prototypes, | ||
1820 | which can conflict with char $2 (); below. | ||
1821 | Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
1822 | <limits.h> exists even on freestanding compilers. */ | ||
1823 | |||
1824 | #ifdef __STDC__ | ||
1825 | # include <limits.h> | ||
1826 | #else | ||
1827 | # include <assert.h> | ||
1828 | #endif | ||
1829 | |||
1830 | #undef $2 | ||
1831 | |||
1832 | /* Override any GCC internal prototype to avoid an error. | ||
1833 | Use char because int might match the return type of a GCC | ||
1834 | builtin and then its argument prototype would still apply. */ | ||
1835 | #ifdef __cplusplus | ||
1836 | extern "C" | ||
1837 | #endif | ||
1838 | char $2 (); | ||
1839 | /* The GNU C library defines this for functions which it implements | ||
1840 | to always fail with ENOSYS. Some functions are actually named | ||
1841 | something starting with __ and the normal name is an alias. */ | ||
1842 | #if defined __stub_$2 || defined __stub___$2 | ||
1843 | choke me | ||
1844 | #endif | ||
1845 | |||
1846 | int | ||
1847 | main () | ||
1848 | { | ||
1849 | return $2 (); | ||
1850 | ; | ||
1851 | return 0; | ||
1852 | } | ||
1853 | _ACEOF | ||
1854 | if ac_fn_c_try_link "$LINENO"; then : | ||
1855 | eval "$3=yes" | ||
1856 | else | ||
1857 | eval "$3=no" | ||
1858 | fi | ||
1859 | rm -f core conftest.err conftest.$ac_objext \ | ||
1860 | conftest$ac_exeext conftest.$ac_ext | ||
1861 | fi | ||
1862 | eval ac_res=\$$3 | ||
1863 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 | ||
1864 | $as_echo "$ac_res" >&6; } | ||
1865 | eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno | ||
1866 | |||
1867 | } # ac_fn_c_check_func | ||
1868 | cat >config.log <<_ACEOF | ||
1869 | This file contains any messages produced by compilers while | ||
1870 | running configure, to aid debugging if configure makes a mistake. | ||
1871 | |||
1872 | It was created by libjpeg $as_me 9.1.0, which was | ||
1873 | generated by GNU Autoconf 2.69. Invocation command line was | ||
1874 | |||
1875 | $ $0 $@ | ||
1876 | |||
1877 | _ACEOF | ||
1878 | exec 5>>config.log | ||
1879 | { | ||
1880 | cat <<_ASUNAME | ||
1881 | ## --------- ## | ||
1882 | ## Platform. ## | ||
1883 | ## --------- ## | ||
1884 | |||
1885 | hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` | ||
1886 | uname -m = `(uname -m) 2>/dev/null || echo unknown` | ||
1887 | uname -r = `(uname -r) 2>/dev/null || echo unknown` | ||
1888 | uname -s = `(uname -s) 2>/dev/null || echo unknown` | ||
1889 | uname -v = `(uname -v) 2>/dev/null || echo unknown` | ||
1890 | |||
1891 | /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` | ||
1892 | /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` | ||
1893 | |||
1894 | /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` | ||
1895 | /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` | ||
1896 | /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` | ||
1897 | /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` | ||
1898 | /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` | ||
1899 | /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` | ||
1900 | /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` | ||
1901 | |||
1902 | _ASUNAME | ||
1903 | |||
1904 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
1905 | for as_dir in $PATH | ||
1906 | do | ||
1907 | IFS=$as_save_IFS | ||
1908 | test -z "$as_dir" && as_dir=. | ||
1909 | $as_echo "PATH: $as_dir" | ||
1910 | done | ||
1911 | IFS=$as_save_IFS | ||
1912 | |||
1913 | } >&5 | ||
1914 | |||
1915 | cat >&5 <<_ACEOF | ||
1916 | |||
1917 | |||
1918 | ## ----------- ## | ||
1919 | ## Core tests. ## | ||
1920 | ## ----------- ## | ||
1921 | |||
1922 | _ACEOF | ||
1923 | |||
1924 | |||
1925 | # Keep a trace of the command line. | ||
1926 | # Strip out --no-create and --no-recursion so they do not pile up. | ||
1927 | # Strip out --silent because we don't want to record it for future runs. | ||
1928 | # Also quote any args containing shell meta-characters. | ||
1929 | # Make two passes to allow for proper duplicate-argument suppression. | ||
1930 | ac_configure_args= | ||
1931 | ac_configure_args0= | ||
1932 | ac_configure_args1= | ||
1933 | ac_must_keep_next=false | ||
1934 | for ac_pass in 1 2 | ||
1935 | do | ||
1936 | for ac_arg | ||
1937 | do | ||
1938 | case $ac_arg in | ||
1939 | -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; | ||
1940 | -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | ||
1941 | | -silent | --silent | --silen | --sile | --sil) | ||
1942 | continue ;; | ||
1943 | *\'*) | ||
1944 | ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; | ||
1945 | esac | ||
1946 | case $ac_pass in | ||
1947 | 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; | ||
1948 | 2) | ||
1949 | as_fn_append ac_configure_args1 " '$ac_arg'" | ||
1950 | if test $ac_must_keep_next = true; then | ||
1951 | ac_must_keep_next=false # Got value, back to normal. | ||
1952 | else | ||
1953 | case $ac_arg in | ||
1954 | *=* | --config-cache | -C | -disable-* | --disable-* \ | ||
1955 | | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | ||
1956 | | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | ||
1957 | | -with-* | --with-* | -without-* | --without-* | --x) | ||
1958 | case "$ac_configure_args0 " in | ||
1959 | "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; | ||
1960 | esac | ||
1961 | ;; | ||
1962 | -* ) ac_must_keep_next=true ;; | ||
1963 | esac | ||
1964 | fi | ||
1965 | as_fn_append ac_configure_args " '$ac_arg'" | ||
1966 | ;; | ||
1967 | esac | ||
1968 | done | ||
1969 | done | ||
1970 | { ac_configure_args0=; unset ac_configure_args0;} | ||
1971 | { ac_configure_args1=; unset ac_configure_args1;} | ||
1972 | |||
1973 | # When interrupted or exit'd, cleanup temporary files, and complete | ||
1974 | # config.log. We remove comments because anyway the quotes in there | ||
1975 | # would cause problems or look ugly. | ||
1976 | # WARNING: Use '\'' to represent an apostrophe within the trap. | ||
1977 | # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. | ||
1978 | trap 'exit_status=$? | ||
1979 | # Save into config.log some information that might help in debugging. | ||
1980 | { | ||
1981 | echo | ||
1982 | |||
1983 | $as_echo "## ---------------- ## | ||
1984 | ## Cache variables. ## | ||
1985 | ## ---------------- ##" | ||
1986 | echo | ||
1987 | # The following way of writing the cache mishandles newlines in values, | ||
1988 | ( | ||
1989 | for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do | ||
1990 | eval ac_val=\$$ac_var | ||
1991 | case $ac_val in #( | ||
1992 | *${as_nl}*) | ||
1993 | case $ac_var in #( | ||
1994 | *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 | ||
1995 | $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; | ||
1996 | esac | ||
1997 | case $ac_var in #( | ||
1998 | _ | IFS | as_nl) ;; #( | ||
1999 | BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( | ||
2000 | *) { eval $ac_var=; unset $ac_var;} ;; | ||
2001 | esac ;; | ||
2002 | esac | ||
2003 | done | ||
2004 | (set) 2>&1 | | ||
2005 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( | ||
2006 | *${as_nl}ac_space=\ *) | ||
2007 | sed -n \ | ||
2008 | "s/'\''/'\''\\\\'\'''\''/g; | ||
2009 | s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" | ||
2010 | ;; #( | ||
2011 | *) | ||
2012 | sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" | ||
2013 | ;; | ||
2014 | esac | | ||
2015 | sort | ||
2016 | ) | ||
2017 | echo | ||
2018 | |||
2019 | $as_echo "## ----------------- ## | ||
2020 | ## Output variables. ## | ||
2021 | ## ----------------- ##" | ||
2022 | echo | ||
2023 | for ac_var in $ac_subst_vars | ||
2024 | do | ||
2025 | eval ac_val=\$$ac_var | ||
2026 | case $ac_val in | ||
2027 | *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; | ||
2028 | esac | ||
2029 | $as_echo "$ac_var='\''$ac_val'\''" | ||
2030 | done | sort | ||
2031 | echo | ||
2032 | |||
2033 | if test -n "$ac_subst_files"; then | ||
2034 | $as_echo "## ------------------- ## | ||
2035 | ## File substitutions. ## | ||
2036 | ## ------------------- ##" | ||
2037 | echo | ||
2038 | for ac_var in $ac_subst_files | ||
2039 | do | ||
2040 | eval ac_val=\$$ac_var | ||
2041 | case $ac_val in | ||
2042 | *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; | ||
2043 | esac | ||
2044 | $as_echo "$ac_var='\''$ac_val'\''" | ||
2045 | done | sort | ||
2046 | echo | ||
2047 | fi | ||
2048 | |||
2049 | if test -s confdefs.h; then | ||
2050 | $as_echo "## ----------- ## | ||
2051 | ## confdefs.h. ## | ||
2052 | ## ----------- ##" | ||
2053 | echo | ||
2054 | cat confdefs.h | ||
2055 | echo | ||
2056 | fi | ||
2057 | test "$ac_signal" != 0 && | ||
2058 | $as_echo "$as_me: caught signal $ac_signal" | ||
2059 | $as_echo "$as_me: exit $exit_status" | ||
2060 | } >&5 | ||
2061 | rm -f core *.core core.conftest.* && | ||
2062 | rm -f -r conftest* confdefs* conf$$* $ac_clean_files && | ||
2063 | exit $exit_status | ||
2064 | ' 0 | ||
2065 | for ac_signal in 1 2 13 15; do | ||
2066 | trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal | ||
2067 | done | ||
2068 | ac_signal=0 | ||
2069 | |||
2070 | # confdefs.h avoids OS command line length limits that DEFS can exceed. | ||
2071 | rm -f -r conftest* confdefs.h | ||
2072 | |||
2073 | $as_echo "/* confdefs.h */" > confdefs.h | ||
2074 | |||
2075 | # Predefined preprocessor variables. | ||
2076 | |||
2077 | cat >>confdefs.h <<_ACEOF | ||
2078 | #define PACKAGE_NAME "$PACKAGE_NAME" | ||
2079 | _ACEOF | ||
2080 | |||
2081 | cat >>confdefs.h <<_ACEOF | ||
2082 | #define PACKAGE_TARNAME "$PACKAGE_TARNAME" | ||
2083 | _ACEOF | ||
2084 | |||
2085 | cat >>confdefs.h <<_ACEOF | ||
2086 | #define PACKAGE_VERSION "$PACKAGE_VERSION" | ||
2087 | _ACEOF | ||
2088 | |||
2089 | cat >>confdefs.h <<_ACEOF | ||
2090 | #define PACKAGE_STRING "$PACKAGE_STRING" | ||
2091 | _ACEOF | ||
2092 | |||
2093 | cat >>confdefs.h <<_ACEOF | ||
2094 | #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" | ||
2095 | _ACEOF | ||
2096 | |||
2097 | cat >>confdefs.h <<_ACEOF | ||
2098 | #define PACKAGE_URL "$PACKAGE_URL" | ||
2099 | _ACEOF | ||
2100 | |||
2101 | |||
2102 | # Let the site file select an alternate cache file if it wants to. | ||
2103 | # Prefer an explicitly selected file to automatically selected ones. | ||
2104 | ac_site_file1=NONE | ||
2105 | ac_site_file2=NONE | ||
2106 | if test -n "$CONFIG_SITE"; then | ||
2107 | # We do not want a PATH search for config.site. | ||
2108 | case $CONFIG_SITE in #(( | ||
2109 | -*) ac_site_file1=./$CONFIG_SITE;; | ||
2110 | */*) ac_site_file1=$CONFIG_SITE;; | ||
2111 | *) ac_site_file1=./$CONFIG_SITE;; | ||
2112 | esac | ||
2113 | elif test "x$prefix" != xNONE; then | ||
2114 | ac_site_file1=$prefix/share/config.site | ||
2115 | ac_site_file2=$prefix/etc/config.site | ||
2116 | else | ||
2117 | ac_site_file1=$ac_default_prefix/share/config.site | ||
2118 | ac_site_file2=$ac_default_prefix/etc/config.site | ||
2119 | fi | ||
2120 | for ac_site_file in "$ac_site_file1" "$ac_site_file2" | ||
2121 | do | ||
2122 | test "x$ac_site_file" = xNONE && continue | ||
2123 | if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then | ||
2124 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 | ||
2125 | $as_echo "$as_me: loading site script $ac_site_file" >&6;} | ||
2126 | sed 's/^/| /' "$ac_site_file" >&5 | ||
2127 | . "$ac_site_file" \ | ||
2128 | || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
2129 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
2130 | as_fn_error $? "failed to load site script $ac_site_file | ||
2131 | See \`config.log' for more details" "$LINENO" 5; } | ||
2132 | fi | ||
2133 | done | ||
2134 | |||
2135 | if test -r "$cache_file"; then | ||
2136 | # Some versions of bash will fail to source /dev/null (special files | ||
2137 | # actually), so we avoid doing that. DJGPP emulates it as a regular file. | ||
2138 | if test /dev/null != "$cache_file" && test -f "$cache_file"; then | ||
2139 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 | ||
2140 | $as_echo "$as_me: loading cache $cache_file" >&6;} | ||
2141 | case $cache_file in | ||
2142 | [\\/]* | ?:[\\/]* ) . "$cache_file";; | ||
2143 | *) . "./$cache_file";; | ||
2144 | esac | ||
2145 | fi | ||
2146 | else | ||
2147 | { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 | ||
2148 | $as_echo "$as_me: creating cache $cache_file" >&6;} | ||
2149 | >$cache_file | ||
2150 | fi | ||
2151 | |||
2152 | # Check that the precious variables saved in the cache have kept the same | ||
2153 | # value. | ||
2154 | ac_cache_corrupted=false | ||
2155 | for ac_var in $ac_precious_vars; do | ||
2156 | eval ac_old_set=\$ac_cv_env_${ac_var}_set | ||
2157 | eval ac_new_set=\$ac_env_${ac_var}_set | ||
2158 | eval ac_old_val=\$ac_cv_env_${ac_var}_value | ||
2159 | eval ac_new_val=\$ac_env_${ac_var}_value | ||
2160 | case $ac_old_set,$ac_new_set in | ||
2161 | set,) | ||
2162 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 | ||
2163 | $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} | ||
2164 | ac_cache_corrupted=: ;; | ||
2165 | ,set) | ||
2166 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 | ||
2167 | $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} | ||
2168 | ac_cache_corrupted=: ;; | ||
2169 | ,);; | ||
2170 | *) | ||
2171 | if test "x$ac_old_val" != "x$ac_new_val"; then | ||
2172 | # differences in whitespace do not lead to failure. | ||
2173 | ac_old_val_w=`echo x $ac_old_val` | ||
2174 | ac_new_val_w=`echo x $ac_new_val` | ||
2175 | if test "$ac_old_val_w" != "$ac_new_val_w"; then | ||
2176 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 | ||
2177 | $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} | ||
2178 | ac_cache_corrupted=: | ||
2179 | else | ||
2180 | { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 | ||
2181 | $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} | ||
2182 | eval $ac_var=\$ac_old_val | ||
2183 | fi | ||
2184 | { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 | ||
2185 | $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} | ||
2186 | { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 | ||
2187 | $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} | ||
2188 | fi;; | ||
2189 | esac | ||
2190 | # Pass precious variables to config.status. | ||
2191 | if test "$ac_new_set" = set; then | ||
2192 | case $ac_new_val in | ||
2193 | *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; | ||
2194 | *) ac_arg=$ac_var=$ac_new_val ;; | ||
2195 | esac | ||
2196 | case " $ac_configure_args " in | ||
2197 | *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. | ||
2198 | *) as_fn_append ac_configure_args " '$ac_arg'" ;; | ||
2199 | esac | ||
2200 | fi | ||
2201 | done | ||
2202 | if $ac_cache_corrupted; then | ||
2203 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
2204 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
2205 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 | ||
2206 | $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} | ||
2207 | as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 | ||
2208 | fi | ||
2209 | ## -------------------- ## | ||
2210 | ## Main body of script. ## | ||
2211 | ## -------------------- ## | ||
2212 | |||
2213 | ac_ext=c | ||
2214 | ac_cpp='$CPP $CPPFLAGS' | ||
2215 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
2216 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
2217 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
2218 | |||
2219 | |||
2220 | |||
2221 | # Directory where autotools helper scripts lives. | ||
2222 | ac_aux_dir= | ||
2223 | for ac_dir in . "$srcdir"/.; do | ||
2224 | if test -f "$ac_dir/install-sh"; then | ||
2225 | ac_aux_dir=$ac_dir | ||
2226 | ac_install_sh="$ac_aux_dir/install-sh -c" | ||
2227 | break | ||
2228 | elif test -f "$ac_dir/install.sh"; then | ||
2229 | ac_aux_dir=$ac_dir | ||
2230 | ac_install_sh="$ac_aux_dir/install.sh -c" | ||
2231 | break | ||
2232 | elif test -f "$ac_dir/shtool"; then | ||
2233 | ac_aux_dir=$ac_dir | ||
2234 | ac_install_sh="$ac_aux_dir/shtool install -c" | ||
2235 | break | ||
2236 | fi | ||
2237 | done | ||
2238 | if test -z "$ac_aux_dir"; then | ||
2239 | as_fn_error $? "cannot find install-sh, install.sh, or shtool in . \"$srcdir\"/." "$LINENO" 5 | ||
2240 | fi | ||
2241 | |||
2242 | # These three variables are undocumented and unsupported, | ||
2243 | # and are intended to be withdrawn in a future Autoconf release. | ||
2244 | # They can cause serious problems if a builder's source tree is in a directory | ||
2245 | # whose full name contains unusual characters. | ||
2246 | ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. | ||
2247 | ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. | ||
2248 | ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. | ||
2249 | |||
2250 | |||
2251 | |||
2252 | # Generate configuration headers. | ||
2253 | ac_config_headers="$ac_config_headers jconfig.h:jconfig.cfg" | ||
2254 | |||
2255 | |||
2256 | # Hack: disable autoheader so that it doesn't overwrite our cfg template. | ||
2257 | AUTOHEADER="echo autoheader ignored" | ||
2258 | |||
2259 | # Check system type | ||
2260 | # Make sure we can run config.sub. | ||
2261 | $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || | ||
2262 | as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 | ||
2263 | |||
2264 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 | ||
2265 | $as_echo_n "checking build system type... " >&6; } | ||
2266 | if ${ac_cv_build+:} false; then : | ||
2267 | $as_echo_n "(cached) " >&6 | ||
2268 | else | ||
2269 | ac_build_alias=$build_alias | ||
2270 | test "x$ac_build_alias" = x && | ||
2271 | ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` | ||
2272 | test "x$ac_build_alias" = x && | ||
2273 | as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 | ||
2274 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || | ||
2275 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 | ||
2276 | |||
2277 | fi | ||
2278 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 | ||
2279 | $as_echo "$ac_cv_build" >&6; } | ||
2280 | case $ac_cv_build in | ||
2281 | *-*-*) ;; | ||
2282 | *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; | ||
2283 | esac | ||
2284 | build=$ac_cv_build | ||
2285 | ac_save_IFS=$IFS; IFS='-' | ||
2286 | set x $ac_cv_build | ||
2287 | shift | ||
2288 | build_cpu=$1 | ||
2289 | build_vendor=$2 | ||
2290 | shift; shift | ||
2291 | # Remember, the first character of IFS is used to create $*, | ||
2292 | # except with old shells: | ||
2293 | build_os=$* | ||
2294 | IFS=$ac_save_IFS | ||
2295 | case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac | ||
2296 | |||
2297 | |||
2298 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 | ||
2299 | $as_echo_n "checking host system type... " >&6; } | ||
2300 | if ${ac_cv_host+:} false; then : | ||
2301 | $as_echo_n "(cached) " >&6 | ||
2302 | else | ||
2303 | if test "x$host_alias" = x; then | ||
2304 | ac_cv_host=$ac_cv_build | ||
2305 | else | ||
2306 | ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || | ||
2307 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 | ||
2308 | fi | ||
2309 | |||
2310 | fi | ||
2311 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 | ||
2312 | $as_echo "$ac_cv_host" >&6; } | ||
2313 | case $ac_cv_host in | ||
2314 | *-*-*) ;; | ||
2315 | *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; | ||
2316 | esac | ||
2317 | host=$ac_cv_host | ||
2318 | ac_save_IFS=$IFS; IFS='-' | ||
2319 | set x $ac_cv_host | ||
2320 | shift | ||
2321 | host_cpu=$1 | ||
2322 | host_vendor=$2 | ||
2323 | shift; shift | ||
2324 | # Remember, the first character of IFS is used to create $*, | ||
2325 | # except with old shells: | ||
2326 | host_os=$* | ||
2327 | IFS=$ac_save_IFS | ||
2328 | case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac | ||
2329 | |||
2330 | |||
2331 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 | ||
2332 | $as_echo_n "checking target system type... " >&6; } | ||
2333 | if ${ac_cv_target+:} false; then : | ||
2334 | $as_echo_n "(cached) " >&6 | ||
2335 | else | ||
2336 | if test "x$target_alias" = x; then | ||
2337 | ac_cv_target=$ac_cv_host | ||
2338 | else | ||
2339 | ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || | ||
2340 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 | ||
2341 | fi | ||
2342 | |||
2343 | fi | ||
2344 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 | ||
2345 | $as_echo "$ac_cv_target" >&6; } | ||
2346 | case $ac_cv_target in | ||
2347 | *-*-*) ;; | ||
2348 | *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; | ||
2349 | esac | ||
2350 | target=$ac_cv_target | ||
2351 | ac_save_IFS=$IFS; IFS='-' | ||
2352 | set x $ac_cv_target | ||
2353 | shift | ||
2354 | target_cpu=$1 | ||
2355 | target_vendor=$2 | ||
2356 | shift; shift | ||
2357 | # Remember, the first character of IFS is used to create $*, | ||
2358 | # except with old shells: | ||
2359 | target_os=$* | ||
2360 | IFS=$ac_save_IFS | ||
2361 | case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac | ||
2362 | |||
2363 | |||
2364 | # The aliases save the names the user supplied, while $host etc. | ||
2365 | # will get canonicalized. | ||
2366 | test -n "$target_alias" && | ||
2367 | test "$program_prefix$program_suffix$program_transform_name" = \ | ||
2368 | NONENONEs,x,x, && | ||
2369 | program_prefix=${target_alias}- | ||
2370 | |||
2371 | # Initialize Automake | ||
2372 | # Don't require all the GNU mandated files | ||
2373 | am__api_version='1.14' | ||
2374 | |||
2375 | # Find a good install program. We prefer a C program (faster), | ||
2376 | # so one script is as good as another. But avoid the broken or | ||
2377 | # incompatible versions: | ||
2378 | # SysV /etc/install, /usr/sbin/install | ||
2379 | # SunOS /usr/etc/install | ||
2380 | # IRIX /sbin/install | ||
2381 | # AIX /bin/install | ||
2382 | # AmigaOS /C/install, which installs bootblocks on floppy discs | ||
2383 | # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag | ||
2384 | # AFS /usr/afsws/bin/install, which mishandles nonexistent args | ||
2385 | # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" | ||
2386 | # OS/2's system install, which has a completely different semantic | ||
2387 | # ./install, which can be erroneously created by make from ./install.sh. | ||
2388 | # Reject install programs that cannot install multiple files. | ||
2389 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 | ||
2390 | $as_echo_n "checking for a BSD-compatible install... " >&6; } | ||
2391 | if test -z "$INSTALL"; then | ||
2392 | if ${ac_cv_path_install+:} false; then : | ||
2393 | $as_echo_n "(cached) " >&6 | ||
2394 | else | ||
2395 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2396 | for as_dir in $PATH | ||
2397 | do | ||
2398 | IFS=$as_save_IFS | ||
2399 | test -z "$as_dir" && as_dir=. | ||
2400 | # Account for people who put trailing slashes in PATH elements. | ||
2401 | case $as_dir/ in #(( | ||
2402 | ./ | .// | /[cC]/* | \ | ||
2403 | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ | ||
2404 | ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ | ||
2405 | /usr/ucb/* ) ;; | ||
2406 | *) | ||
2407 | # OSF1 and SCO ODT 3.0 have their own names for install. | ||
2408 | # Don't use installbsd from OSF since it installs stuff as root | ||
2409 | # by default. | ||
2410 | for ac_prog in ginstall scoinst install; do | ||
2411 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
2412 | if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then | ||
2413 | if test $ac_prog = install && | ||
2414 | grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then | ||
2415 | # AIX install. It has an incompatible calling convention. | ||
2416 | : | ||
2417 | elif test $ac_prog = install && | ||
2418 | grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then | ||
2419 | # program-specific install script used by HP pwplus--don't use. | ||
2420 | : | ||
2421 | else | ||
2422 | rm -rf conftest.one conftest.two conftest.dir | ||
2423 | echo one > conftest.one | ||
2424 | echo two > conftest.two | ||
2425 | mkdir conftest.dir | ||
2426 | if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && | ||
2427 | test -s conftest.one && test -s conftest.two && | ||
2428 | test -s conftest.dir/conftest.one && | ||
2429 | test -s conftest.dir/conftest.two | ||
2430 | then | ||
2431 | ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" | ||
2432 | break 3 | ||
2433 | fi | ||
2434 | fi | ||
2435 | fi | ||
2436 | done | ||
2437 | done | ||
2438 | ;; | ||
2439 | esac | ||
2440 | |||
2441 | done | ||
2442 | IFS=$as_save_IFS | ||
2443 | |||
2444 | rm -rf conftest.one conftest.two conftest.dir | ||
2445 | |||
2446 | fi | ||
2447 | if test "${ac_cv_path_install+set}" = set; then | ||
2448 | INSTALL=$ac_cv_path_install | ||
2449 | else | ||
2450 | # As a last resort, use the slow shell script. Don't cache a | ||
2451 | # value for INSTALL within a source directory, because that will | ||
2452 | # break other packages using the cache if that directory is | ||
2453 | # removed, or if the value is a relative name. | ||
2454 | INSTALL=$ac_install_sh | ||
2455 | fi | ||
2456 | fi | ||
2457 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 | ||
2458 | $as_echo "$INSTALL" >&6; } | ||
2459 | |||
2460 | # Use test -z because SunOS4 sh mishandles braces in ${var-val}. | ||
2461 | # It thinks the first close brace ends the variable substitution. | ||
2462 | test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' | ||
2463 | |||
2464 | test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' | ||
2465 | |||
2466 | test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' | ||
2467 | |||
2468 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 | ||
2469 | $as_echo_n "checking whether build environment is sane... " >&6; } | ||
2470 | # Reject unsafe characters in $srcdir or the absolute working directory | ||
2471 | # name. Accept space and tab only in the latter. | ||
2472 | am_lf=' | ||
2473 | ' | ||
2474 | case `pwd` in | ||
2475 | *[\\\"\#\$\&\'\`$am_lf]*) | ||
2476 | as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; | ||
2477 | esac | ||
2478 | case $srcdir in | ||
2479 | *[\\\"\#\$\&\'\`$am_lf\ \ ]*) | ||
2480 | as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; | ||
2481 | esac | ||
2482 | |||
2483 | # Do 'set' in a subshell so we don't clobber the current shell's | ||
2484 | # arguments. Must try -L first in case configure is actually a | ||
2485 | # symlink; some systems play weird games with the mod time of symlinks | ||
2486 | # (eg FreeBSD returns the mod time of the symlink's containing | ||
2487 | # directory). | ||
2488 | if ( | ||
2489 | am_has_slept=no | ||
2490 | for am_try in 1 2; do | ||
2491 | echo "timestamp, slept: $am_has_slept" > conftest.file | ||
2492 | set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` | ||
2493 | if test "$*" = "X"; then | ||
2494 | # -L didn't work. | ||
2495 | set X `ls -t "$srcdir/configure" conftest.file` | ||
2496 | fi | ||
2497 | if test "$*" != "X $srcdir/configure conftest.file" \ | ||
2498 | && test "$*" != "X conftest.file $srcdir/configure"; then | ||
2499 | |||
2500 | # If neither matched, then we have a broken ls. This can happen | ||
2501 | # if, for instance, CONFIG_SHELL is bash and it inherits a | ||
2502 | # broken ls alias from the environment. This has actually | ||
2503 | # happened. Such a system could not be considered "sane". | ||
2504 | as_fn_error $? "ls -t appears to fail. Make sure there is not a broken | ||
2505 | alias in your environment" "$LINENO" 5 | ||
2506 | fi | ||
2507 | if test "$2" = conftest.file || test $am_try -eq 2; then | ||
2508 | break | ||
2509 | fi | ||
2510 | # Just in case. | ||
2511 | sleep 1 | ||
2512 | am_has_slept=yes | ||
2513 | done | ||
2514 | test "$2" = conftest.file | ||
2515 | ) | ||
2516 | then | ||
2517 | # Ok. | ||
2518 | : | ||
2519 | else | ||
2520 | as_fn_error $? "newly created file is older than distributed files! | ||
2521 | Check your system clock" "$LINENO" 5 | ||
2522 | fi | ||
2523 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
2524 | $as_echo "yes" >&6; } | ||
2525 | # If we didn't sleep, we still need to ensure time stamps of config.status and | ||
2526 | # generated files are strictly newer. | ||
2527 | am_sleep_pid= | ||
2528 | if grep 'slept: no' conftest.file >/dev/null 2>&1; then | ||
2529 | ( sleep 1 ) & | ||
2530 | am_sleep_pid=$! | ||
2531 | fi | ||
2532 | |||
2533 | rm -f conftest.file | ||
2534 | |||
2535 | test "$program_prefix" != NONE && | ||
2536 | program_transform_name="s&^&$program_prefix&;$program_transform_name" | ||
2537 | # Use a double $ so make ignores it. | ||
2538 | test "$program_suffix" != NONE && | ||
2539 | program_transform_name="s&\$&$program_suffix&;$program_transform_name" | ||
2540 | # Double any \ or $. | ||
2541 | # By default was `s,x,x', remove it if useless. | ||
2542 | ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' | ||
2543 | program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` | ||
2544 | |||
2545 | # expand $ac_aux_dir to an absolute path | ||
2546 | am_aux_dir=`cd $ac_aux_dir && pwd` | ||
2547 | |||
2548 | if test x"${MISSING+set}" != xset; then | ||
2549 | case $am_aux_dir in | ||
2550 | *\ * | *\ *) | ||
2551 | MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; | ||
2552 | *) | ||
2553 | MISSING="\${SHELL} $am_aux_dir/missing" ;; | ||
2554 | esac | ||
2555 | fi | ||
2556 | # Use eval to expand $SHELL | ||
2557 | if eval "$MISSING --is-lightweight"; then | ||
2558 | am_missing_run="$MISSING " | ||
2559 | else | ||
2560 | am_missing_run= | ||
2561 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 | ||
2562 | $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} | ||
2563 | fi | ||
2564 | |||
2565 | if test x"${install_sh}" != xset; then | ||
2566 | case $am_aux_dir in | ||
2567 | *\ * | *\ *) | ||
2568 | install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; | ||
2569 | *) | ||
2570 | install_sh="\${SHELL} $am_aux_dir/install-sh" | ||
2571 | esac | ||
2572 | fi | ||
2573 | |||
2574 | # Installed binaries are usually stripped using 'strip' when the user | ||
2575 | # run "make install-strip". However 'strip' might not be the right | ||
2576 | # tool to use in cross-compilation environments, therefore Automake | ||
2577 | # will honor the 'STRIP' environment variable to overrule this program. | ||
2578 | if test "$cross_compiling" != no; then | ||
2579 | if test -n "$ac_tool_prefix"; then | ||
2580 | # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. | ||
2581 | set dummy ${ac_tool_prefix}strip; ac_word=$2 | ||
2582 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
2583 | $as_echo_n "checking for $ac_word... " >&6; } | ||
2584 | if ${ac_cv_prog_STRIP+:} false; then : | ||
2585 | $as_echo_n "(cached) " >&6 | ||
2586 | else | ||
2587 | if test -n "$STRIP"; then | ||
2588 | ac_cv_prog_STRIP="$STRIP" # Let the user override the test. | ||
2589 | else | ||
2590 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2591 | for as_dir in $PATH | ||
2592 | do | ||
2593 | IFS=$as_save_IFS | ||
2594 | test -z "$as_dir" && as_dir=. | ||
2595 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
2596 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
2597 | ac_cv_prog_STRIP="${ac_tool_prefix}strip" | ||
2598 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
2599 | break 2 | ||
2600 | fi | ||
2601 | done | ||
2602 | done | ||
2603 | IFS=$as_save_IFS | ||
2604 | |||
2605 | fi | ||
2606 | fi | ||
2607 | STRIP=$ac_cv_prog_STRIP | ||
2608 | if test -n "$STRIP"; then | ||
2609 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 | ||
2610 | $as_echo "$STRIP" >&6; } | ||
2611 | else | ||
2612 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
2613 | $as_echo "no" >&6; } | ||
2614 | fi | ||
2615 | |||
2616 | |||
2617 | fi | ||
2618 | if test -z "$ac_cv_prog_STRIP"; then | ||
2619 | ac_ct_STRIP=$STRIP | ||
2620 | # Extract the first word of "strip", so it can be a program name with args. | ||
2621 | set dummy strip; ac_word=$2 | ||
2622 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
2623 | $as_echo_n "checking for $ac_word... " >&6; } | ||
2624 | if ${ac_cv_prog_ac_ct_STRIP+:} false; then : | ||
2625 | $as_echo_n "(cached) " >&6 | ||
2626 | else | ||
2627 | if test -n "$ac_ct_STRIP"; then | ||
2628 | ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. | ||
2629 | else | ||
2630 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2631 | for as_dir in $PATH | ||
2632 | do | ||
2633 | IFS=$as_save_IFS | ||
2634 | test -z "$as_dir" && as_dir=. | ||
2635 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
2636 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
2637 | ac_cv_prog_ac_ct_STRIP="strip" | ||
2638 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
2639 | break 2 | ||
2640 | fi | ||
2641 | done | ||
2642 | done | ||
2643 | IFS=$as_save_IFS | ||
2644 | |||
2645 | fi | ||
2646 | fi | ||
2647 | ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP | ||
2648 | if test -n "$ac_ct_STRIP"; then | ||
2649 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 | ||
2650 | $as_echo "$ac_ct_STRIP" >&6; } | ||
2651 | else | ||
2652 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
2653 | $as_echo "no" >&6; } | ||
2654 | fi | ||
2655 | |||
2656 | if test "x$ac_ct_STRIP" = x; then | ||
2657 | STRIP=":" | ||
2658 | else | ||
2659 | case $cross_compiling:$ac_tool_warned in | ||
2660 | yes:) | ||
2661 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
2662 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
2663 | ac_tool_warned=yes ;; | ||
2664 | esac | ||
2665 | STRIP=$ac_ct_STRIP | ||
2666 | fi | ||
2667 | else | ||
2668 | STRIP="$ac_cv_prog_STRIP" | ||
2669 | fi | ||
2670 | |||
2671 | fi | ||
2672 | INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" | ||
2673 | |||
2674 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 | ||
2675 | $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } | ||
2676 | if test -z "$MKDIR_P"; then | ||
2677 | if ${ac_cv_path_mkdir+:} false; then : | ||
2678 | $as_echo_n "(cached) " >&6 | ||
2679 | else | ||
2680 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2681 | for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin | ||
2682 | do | ||
2683 | IFS=$as_save_IFS | ||
2684 | test -z "$as_dir" && as_dir=. | ||
2685 | for ac_prog in mkdir gmkdir; do | ||
2686 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
2687 | as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue | ||
2688 | case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( | ||
2689 | 'mkdir (GNU coreutils) '* | \ | ||
2690 | 'mkdir (coreutils) '* | \ | ||
2691 | 'mkdir (fileutils) '4.1*) | ||
2692 | ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext | ||
2693 | break 3;; | ||
2694 | esac | ||
2695 | done | ||
2696 | done | ||
2697 | done | ||
2698 | IFS=$as_save_IFS | ||
2699 | |||
2700 | fi | ||
2701 | |||
2702 | test -d ./--version && rmdir ./--version | ||
2703 | if test "${ac_cv_path_mkdir+set}" = set; then | ||
2704 | MKDIR_P="$ac_cv_path_mkdir -p" | ||
2705 | else | ||
2706 | # As a last resort, use the slow shell script. Don't cache a | ||
2707 | # value for MKDIR_P within a source directory, because that will | ||
2708 | # break other packages using the cache if that directory is | ||
2709 | # removed, or if the value is a relative name. | ||
2710 | MKDIR_P="$ac_install_sh -d" | ||
2711 | fi | ||
2712 | fi | ||
2713 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 | ||
2714 | $as_echo "$MKDIR_P" >&6; } | ||
2715 | |||
2716 | for ac_prog in gawk mawk nawk awk | ||
2717 | do | ||
2718 | # Extract the first word of "$ac_prog", so it can be a program name with args. | ||
2719 | set dummy $ac_prog; ac_word=$2 | ||
2720 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
2721 | $as_echo_n "checking for $ac_word... " >&6; } | ||
2722 | if ${ac_cv_prog_AWK+:} false; then : | ||
2723 | $as_echo_n "(cached) " >&6 | ||
2724 | else | ||
2725 | if test -n "$AWK"; then | ||
2726 | ac_cv_prog_AWK="$AWK" # Let the user override the test. | ||
2727 | else | ||
2728 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2729 | for as_dir in $PATH | ||
2730 | do | ||
2731 | IFS=$as_save_IFS | ||
2732 | test -z "$as_dir" && as_dir=. | ||
2733 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
2734 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
2735 | ac_cv_prog_AWK="$ac_prog" | ||
2736 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
2737 | break 2 | ||
2738 | fi | ||
2739 | done | ||
2740 | done | ||
2741 | IFS=$as_save_IFS | ||
2742 | |||
2743 | fi | ||
2744 | fi | ||
2745 | AWK=$ac_cv_prog_AWK | ||
2746 | if test -n "$AWK"; then | ||
2747 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 | ||
2748 | $as_echo "$AWK" >&6; } | ||
2749 | else | ||
2750 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
2751 | $as_echo "no" >&6; } | ||
2752 | fi | ||
2753 | |||
2754 | |||
2755 | test -n "$AWK" && break | ||
2756 | done | ||
2757 | |||
2758 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 | ||
2759 | $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } | ||
2760 | set x ${MAKE-make} | ||
2761 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` | ||
2762 | if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : | ||
2763 | $as_echo_n "(cached) " >&6 | ||
2764 | else | ||
2765 | cat >conftest.make <<\_ACEOF | ||
2766 | SHELL = /bin/sh | ||
2767 | all: | ||
2768 | @echo '@@@%%%=$(MAKE)=@@@%%%' | ||
2769 | _ACEOF | ||
2770 | # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. | ||
2771 | case `${MAKE-make} -f conftest.make 2>/dev/null` in | ||
2772 | *@@@%%%=?*=@@@%%%*) | ||
2773 | eval ac_cv_prog_make_${ac_make}_set=yes;; | ||
2774 | *) | ||
2775 | eval ac_cv_prog_make_${ac_make}_set=no;; | ||
2776 | esac | ||
2777 | rm -f conftest.make | ||
2778 | fi | ||
2779 | if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then | ||
2780 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
2781 | $as_echo "yes" >&6; } | ||
2782 | SET_MAKE= | ||
2783 | else | ||
2784 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
2785 | $as_echo "no" >&6; } | ||
2786 | SET_MAKE="MAKE=${MAKE-make}" | ||
2787 | fi | ||
2788 | |||
2789 | rm -rf .tst 2>/dev/null | ||
2790 | mkdir .tst 2>/dev/null | ||
2791 | if test -d .tst; then | ||
2792 | am__leading_dot=. | ||
2793 | else | ||
2794 | am__leading_dot=_ | ||
2795 | fi | ||
2796 | rmdir .tst 2>/dev/null | ||
2797 | |||
2798 | # Check whether --enable-silent-rules was given. | ||
2799 | if test "${enable_silent_rules+set}" = set; then : | ||
2800 | enableval=$enable_silent_rules; | ||
2801 | fi | ||
2802 | |||
2803 | case $enable_silent_rules in # ((( | ||
2804 | yes) AM_DEFAULT_VERBOSITY=0;; | ||
2805 | no) AM_DEFAULT_VERBOSITY=1;; | ||
2806 | *) AM_DEFAULT_VERBOSITY=1;; | ||
2807 | esac | ||
2808 | am_make=${MAKE-make} | ||
2809 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 | ||
2810 | $as_echo_n "checking whether $am_make supports nested variables... " >&6; } | ||
2811 | if ${am_cv_make_support_nested_variables+:} false; then : | ||
2812 | $as_echo_n "(cached) " >&6 | ||
2813 | else | ||
2814 | if $as_echo 'TRUE=$(BAR$(V)) | ||
2815 | BAR0=false | ||
2816 | BAR1=true | ||
2817 | V=1 | ||
2818 | am__doit: | ||
2819 | @$(TRUE) | ||
2820 | .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then | ||
2821 | am_cv_make_support_nested_variables=yes | ||
2822 | else | ||
2823 | am_cv_make_support_nested_variables=no | ||
2824 | fi | ||
2825 | fi | ||
2826 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 | ||
2827 | $as_echo "$am_cv_make_support_nested_variables" >&6; } | ||
2828 | if test $am_cv_make_support_nested_variables = yes; then | ||
2829 | AM_V='$(V)' | ||
2830 | AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' | ||
2831 | else | ||
2832 | AM_V=$AM_DEFAULT_VERBOSITY | ||
2833 | AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY | ||
2834 | fi | ||
2835 | AM_BACKSLASH='\' | ||
2836 | |||
2837 | if test "`cd $srcdir && pwd`" != "`pwd`"; then | ||
2838 | # Use -I$(srcdir) only when $(srcdir) != ., so that make's output | ||
2839 | # is not polluted with repeated "-I." | ||
2840 | am__isrc=' -I$(srcdir)' | ||
2841 | # test to see if srcdir already configured | ||
2842 | if test -f $srcdir/config.status; then | ||
2843 | as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 | ||
2844 | fi | ||
2845 | fi | ||
2846 | |||
2847 | # test whether we have cygpath | ||
2848 | if test -z "$CYGPATH_W"; then | ||
2849 | if (cygpath --version) >/dev/null 2>/dev/null; then | ||
2850 | CYGPATH_W='cygpath -w' | ||
2851 | else | ||
2852 | CYGPATH_W=echo | ||
2853 | fi | ||
2854 | fi | ||
2855 | |||
2856 | |||
2857 | # Define the identity of the package. | ||
2858 | PACKAGE='libjpeg' | ||
2859 | VERSION='9.1.0' | ||
2860 | |||
2861 | |||
2862 | cat >>confdefs.h <<_ACEOF | ||
2863 | #define PACKAGE "$PACKAGE" | ||
2864 | _ACEOF | ||
2865 | |||
2866 | |||
2867 | cat >>confdefs.h <<_ACEOF | ||
2868 | #define VERSION "$VERSION" | ||
2869 | _ACEOF | ||
2870 | |||
2871 | # Some tools Automake needs. | ||
2872 | |||
2873 | ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} | ||
2874 | |||
2875 | |||
2876 | AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} | ||
2877 | |||
2878 | |||
2879 | AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} | ||
2880 | |||
2881 | |||
2882 | AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} | ||
2883 | |||
2884 | |||
2885 | MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} | ||
2886 | |||
2887 | # For better backward compatibility. To be removed once Automake 1.9.x | ||
2888 | # dies out for good. For more background, see: | ||
2889 | # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> | ||
2890 | # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> | ||
2891 | mkdir_p='$(MKDIR_P)' | ||
2892 | |||
2893 | # We need awk for the "check" target. The system "awk" is bad on | ||
2894 | # some platforms. | ||
2895 | # Always define AMTAR for backward compatibility. Yes, it's still used | ||
2896 | # in the wild :-( We should find a proper way to deprecate it ... | ||
2897 | AMTAR='$${TAR-tar}' | ||
2898 | |||
2899 | |||
2900 | # We'll loop over all known methods to create a tar archive until one works. | ||
2901 | _am_tools='gnutar pax cpio none' | ||
2902 | |||
2903 | am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' | ||
2904 | |||
2905 | |||
2906 | |||
2907 | |||
2908 | |||
2909 | |||
2910 | # POSIX will say in a future version that running "rm -f" with no argument | ||
2911 | # is OK; and we want to be able to make that assumption in our Makefile | ||
2912 | # recipes. So use an aggressive probe to check that the usage we want is | ||
2913 | # actually supported "in the wild" to an acceptable degree. | ||
2914 | # See automake bug#10828. | ||
2915 | # To make any issue more visible, cause the running configure to be aborted | ||
2916 | # by default if the 'rm' program in use doesn't match our expectations; the | ||
2917 | # user can still override this though. | ||
2918 | if rm -f && rm -fr && rm -rf; then : OK; else | ||
2919 | cat >&2 <<'END' | ||
2920 | Oops! | ||
2921 | |||
2922 | Your 'rm' program seems unable to run without file operands specified | ||
2923 | on the command line, even when the '-f' option is present. This is contrary | ||
2924 | to the behaviour of most rm programs out there, and not conforming with | ||
2925 | the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> | ||
2926 | |||
2927 | Please tell bug-automake@gnu.org about your system, including the value | ||
2928 | of your $PATH and any error possibly output before this message. This | ||
2929 | can help us improve future automake versions. | ||
2930 | |||
2931 | END | ||
2932 | if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then | ||
2933 | echo 'Configuration will proceed anyway, since you have set the' >&2 | ||
2934 | echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 | ||
2935 | echo >&2 | ||
2936 | else | ||
2937 | cat >&2 <<'END' | ||
2938 | Aborting the configuration process, to ensure you take notice of the issue. | ||
2939 | |||
2940 | You can download and install GNU coreutils to get an 'rm' implementation | ||
2941 | that behaves properly: <http://www.gnu.org/software/coreutils/>. | ||
2942 | |||
2943 | If you want to complete the configuration process using your problematic | ||
2944 | 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM | ||
2945 | to "yes", and re-run configure. | ||
2946 | |||
2947 | END | ||
2948 | as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 | ||
2949 | fi | ||
2950 | fi | ||
2951 | |||
2952 | # Make --enable-silent-rules the default. | ||
2953 | # To get verbose build output you may configure | ||
2954 | # with --disable-silent-rules or use "make V=1". | ||
2955 | # Check whether --enable-silent-rules was given. | ||
2956 | if test "${enable_silent_rules+set}" = set; then : | ||
2957 | enableval=$enable_silent_rules; | ||
2958 | fi | ||
2959 | |||
2960 | case $enable_silent_rules in # ((( | ||
2961 | yes) AM_DEFAULT_VERBOSITY=0;; | ||
2962 | no) AM_DEFAULT_VERBOSITY=1;; | ||
2963 | *) AM_DEFAULT_VERBOSITY=0;; | ||
2964 | esac | ||
2965 | am_make=${MAKE-make} | ||
2966 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 | ||
2967 | $as_echo_n "checking whether $am_make supports nested variables... " >&6; } | ||
2968 | if ${am_cv_make_support_nested_variables+:} false; then : | ||
2969 | $as_echo_n "(cached) " >&6 | ||
2970 | else | ||
2971 | if $as_echo 'TRUE=$(BAR$(V)) | ||
2972 | BAR0=false | ||
2973 | BAR1=true | ||
2974 | V=1 | ||
2975 | am__doit: | ||
2976 | @$(TRUE) | ||
2977 | .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then | ||
2978 | am_cv_make_support_nested_variables=yes | ||
2979 | else | ||
2980 | am_cv_make_support_nested_variables=no | ||
2981 | fi | ||
2982 | fi | ||
2983 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 | ||
2984 | $as_echo "$am_cv_make_support_nested_variables" >&6; } | ||
2985 | if test $am_cv_make_support_nested_variables = yes; then | ||
2986 | AM_V='$(V)' | ||
2987 | AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' | ||
2988 | else | ||
2989 | AM_V=$AM_DEFAULT_VERBOSITY | ||
2990 | AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY | ||
2991 | fi | ||
2992 | AM_BACKSLASH='\' | ||
2993 | |||
2994 | |||
2995 | # Add configure option --enable-maintainer-mode which enables | ||
2996 | # dependency checking and generation useful to package maintainers. | ||
2997 | # This is made an option to avoid confusing end users. | ||
2998 | |||
2999 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 | ||
3000 | $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } | ||
3001 | # Check whether --enable-maintainer-mode was given. | ||
3002 | if test "${enable_maintainer_mode+set}" = set; then : | ||
3003 | enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval | ||
3004 | else | ||
3005 | USE_MAINTAINER_MODE=no | ||
3006 | fi | ||
3007 | |||
3008 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 | ||
3009 | $as_echo "$USE_MAINTAINER_MODE" >&6; } | ||
3010 | if test $USE_MAINTAINER_MODE = yes; then | ||
3011 | MAINTAINER_MODE_TRUE= | ||
3012 | MAINTAINER_MODE_FALSE='#' | ||
3013 | else | ||
3014 | MAINTAINER_MODE_TRUE='#' | ||
3015 | MAINTAINER_MODE_FALSE= | ||
3016 | fi | ||
3017 | |||
3018 | MAINT=$MAINTAINER_MODE_TRUE | ||
3019 | |||
3020 | |||
3021 | |||
3022 | # Check for programs | ||
3023 | ac_ext=c | ||
3024 | ac_cpp='$CPP $CPPFLAGS' | ||
3025 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
3026 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
3027 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
3028 | if test -n "$ac_tool_prefix"; then | ||
3029 | # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. | ||
3030 | set dummy ${ac_tool_prefix}gcc; ac_word=$2 | ||
3031 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
3032 | $as_echo_n "checking for $ac_word... " >&6; } | ||
3033 | if ${ac_cv_prog_CC+:} false; then : | ||
3034 | $as_echo_n "(cached) " >&6 | ||
3035 | else | ||
3036 | if test -n "$CC"; then | ||
3037 | ac_cv_prog_CC="$CC" # Let the user override the test. | ||
3038 | else | ||
3039 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
3040 | for as_dir in $PATH | ||
3041 | do | ||
3042 | IFS=$as_save_IFS | ||
3043 | test -z "$as_dir" && as_dir=. | ||
3044 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
3045 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
3046 | ac_cv_prog_CC="${ac_tool_prefix}gcc" | ||
3047 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
3048 | break 2 | ||
3049 | fi | ||
3050 | done | ||
3051 | done | ||
3052 | IFS=$as_save_IFS | ||
3053 | |||
3054 | fi | ||
3055 | fi | ||
3056 | CC=$ac_cv_prog_CC | ||
3057 | if test -n "$CC"; then | ||
3058 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 | ||
3059 | $as_echo "$CC" >&6; } | ||
3060 | else | ||
3061 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
3062 | $as_echo "no" >&6; } | ||
3063 | fi | ||
3064 | |||
3065 | |||
3066 | fi | ||
3067 | if test -z "$ac_cv_prog_CC"; then | ||
3068 | ac_ct_CC=$CC | ||
3069 | # Extract the first word of "gcc", so it can be a program name with args. | ||
3070 | set dummy gcc; ac_word=$2 | ||
3071 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
3072 | $as_echo_n "checking for $ac_word... " >&6; } | ||
3073 | if ${ac_cv_prog_ac_ct_CC+:} false; then : | ||
3074 | $as_echo_n "(cached) " >&6 | ||
3075 | else | ||
3076 | if test -n "$ac_ct_CC"; then | ||
3077 | ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. | ||
3078 | else | ||
3079 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
3080 | for as_dir in $PATH | ||
3081 | do | ||
3082 | IFS=$as_save_IFS | ||
3083 | test -z "$as_dir" && as_dir=. | ||
3084 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
3085 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
3086 | ac_cv_prog_ac_ct_CC="gcc" | ||
3087 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
3088 | break 2 | ||
3089 | fi | ||
3090 | done | ||
3091 | done | ||
3092 | IFS=$as_save_IFS | ||
3093 | |||
3094 | fi | ||
3095 | fi | ||
3096 | ac_ct_CC=$ac_cv_prog_ac_ct_CC | ||
3097 | if test -n "$ac_ct_CC"; then | ||
3098 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 | ||
3099 | $as_echo "$ac_ct_CC" >&6; } | ||
3100 | else | ||
3101 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
3102 | $as_echo "no" >&6; } | ||
3103 | fi | ||
3104 | |||
3105 | if test "x$ac_ct_CC" = x; then | ||
3106 | CC="" | ||
3107 | else | ||
3108 | case $cross_compiling:$ac_tool_warned in | ||
3109 | yes:) | ||
3110 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
3111 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
3112 | ac_tool_warned=yes ;; | ||
3113 | esac | ||
3114 | CC=$ac_ct_CC | ||
3115 | fi | ||
3116 | else | ||
3117 | CC="$ac_cv_prog_CC" | ||
3118 | fi | ||
3119 | |||
3120 | if test -z "$CC"; then | ||
3121 | if test -n "$ac_tool_prefix"; then | ||
3122 | # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. | ||
3123 | set dummy ${ac_tool_prefix}cc; ac_word=$2 | ||
3124 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
3125 | $as_echo_n "checking for $ac_word... " >&6; } | ||
3126 | if ${ac_cv_prog_CC+:} false; then : | ||
3127 | $as_echo_n "(cached) " >&6 | ||
3128 | else | ||
3129 | if test -n "$CC"; then | ||
3130 | ac_cv_prog_CC="$CC" # Let the user override the test. | ||
3131 | else | ||
3132 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
3133 | for as_dir in $PATH | ||
3134 | do | ||
3135 | IFS=$as_save_IFS | ||
3136 | test -z "$as_dir" && as_dir=. | ||
3137 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
3138 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
3139 | ac_cv_prog_CC="${ac_tool_prefix}cc" | ||
3140 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
3141 | break 2 | ||
3142 | fi | ||
3143 | done | ||
3144 | done | ||
3145 | IFS=$as_save_IFS | ||
3146 | |||
3147 | fi | ||
3148 | fi | ||
3149 | CC=$ac_cv_prog_CC | ||
3150 | if test -n "$CC"; then | ||
3151 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 | ||
3152 | $as_echo "$CC" >&6; } | ||
3153 | else | ||
3154 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
3155 | $as_echo "no" >&6; } | ||
3156 | fi | ||
3157 | |||
3158 | |||
3159 | fi | ||
3160 | fi | ||
3161 | if test -z "$CC"; then | ||
3162 | # Extract the first word of "cc", so it can be a program name with args. | ||
3163 | set dummy cc; ac_word=$2 | ||
3164 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
3165 | $as_echo_n "checking for $ac_word... " >&6; } | ||
3166 | if ${ac_cv_prog_CC+:} false; then : | ||
3167 | $as_echo_n "(cached) " >&6 | ||
3168 | else | ||
3169 | if test -n "$CC"; then | ||
3170 | ac_cv_prog_CC="$CC" # Let the user override the test. | ||
3171 | else | ||
3172 | ac_prog_rejected=no | ||
3173 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
3174 | for as_dir in $PATH | ||
3175 | do | ||
3176 | IFS=$as_save_IFS | ||
3177 | test -z "$as_dir" && as_dir=. | ||
3178 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
3179 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
3180 | if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then | ||
3181 | ac_prog_rejected=yes | ||
3182 | continue | ||
3183 | fi | ||
3184 | ac_cv_prog_CC="cc" | ||
3185 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
3186 | break 2 | ||
3187 | fi | ||
3188 | done | ||
3189 | done | ||
3190 | IFS=$as_save_IFS | ||
3191 | |||
3192 | if test $ac_prog_rejected = yes; then | ||
3193 | # We found a bogon in the path, so make sure we never use it. | ||
3194 | set dummy $ac_cv_prog_CC | ||
3195 | shift | ||
3196 | if test $# != 0; then | ||
3197 | # We chose a different compiler from the bogus one. | ||
3198 | # However, it has the same basename, so the bogon will be chosen | ||
3199 | # first if we set CC to just the basename; use the full file name. | ||
3200 | shift | ||
3201 | ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" | ||
3202 | fi | ||
3203 | fi | ||
3204 | fi | ||
3205 | fi | ||
3206 | CC=$ac_cv_prog_CC | ||
3207 | if test -n "$CC"; then | ||
3208 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 | ||
3209 | $as_echo "$CC" >&6; } | ||
3210 | else | ||
3211 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
3212 | $as_echo "no" >&6; } | ||
3213 | fi | ||
3214 | |||
3215 | |||
3216 | fi | ||
3217 | if test -z "$CC"; then | ||
3218 | if test -n "$ac_tool_prefix"; then | ||
3219 | for ac_prog in cl.exe | ||
3220 | do | ||
3221 | # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. | ||
3222 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 | ||
3223 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
3224 | $as_echo_n "checking for $ac_word... " >&6; } | ||
3225 | if ${ac_cv_prog_CC+:} false; then : | ||
3226 | $as_echo_n "(cached) " >&6 | ||
3227 | else | ||
3228 | if test -n "$CC"; then | ||
3229 | ac_cv_prog_CC="$CC" # Let the user override the test. | ||
3230 | else | ||
3231 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
3232 | for as_dir in $PATH | ||
3233 | do | ||
3234 | IFS=$as_save_IFS | ||
3235 | test -z "$as_dir" && as_dir=. | ||
3236 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
3237 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
3238 | ac_cv_prog_CC="$ac_tool_prefix$ac_prog" | ||
3239 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
3240 | break 2 | ||
3241 | fi | ||
3242 | done | ||
3243 | done | ||
3244 | IFS=$as_save_IFS | ||
3245 | |||
3246 | fi | ||
3247 | fi | ||
3248 | CC=$ac_cv_prog_CC | ||
3249 | if test -n "$CC"; then | ||
3250 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 | ||
3251 | $as_echo "$CC" >&6; } | ||
3252 | else | ||
3253 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
3254 | $as_echo "no" >&6; } | ||
3255 | fi | ||
3256 | |||
3257 | |||
3258 | test -n "$CC" && break | ||
3259 | done | ||
3260 | fi | ||
3261 | if test -z "$CC"; then | ||
3262 | ac_ct_CC=$CC | ||
3263 | for ac_prog in cl.exe | ||
3264 | do | ||
3265 | # Extract the first word of "$ac_prog", so it can be a program name with args. | ||
3266 | set dummy $ac_prog; ac_word=$2 | ||
3267 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
3268 | $as_echo_n "checking for $ac_word... " >&6; } | ||
3269 | if ${ac_cv_prog_ac_ct_CC+:} false; then : | ||
3270 | $as_echo_n "(cached) " >&6 | ||
3271 | else | ||
3272 | if test -n "$ac_ct_CC"; then | ||
3273 | ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. | ||
3274 | else | ||
3275 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
3276 | for as_dir in $PATH | ||
3277 | do | ||
3278 | IFS=$as_save_IFS | ||
3279 | test -z "$as_dir" && as_dir=. | ||
3280 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
3281 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
3282 | ac_cv_prog_ac_ct_CC="$ac_prog" | ||
3283 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
3284 | break 2 | ||
3285 | fi | ||
3286 | done | ||
3287 | done | ||
3288 | IFS=$as_save_IFS | ||
3289 | |||
3290 | fi | ||
3291 | fi | ||
3292 | ac_ct_CC=$ac_cv_prog_ac_ct_CC | ||
3293 | if test -n "$ac_ct_CC"; then | ||
3294 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 | ||
3295 | $as_echo "$ac_ct_CC" >&6; } | ||
3296 | else | ||
3297 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
3298 | $as_echo "no" >&6; } | ||
3299 | fi | ||
3300 | |||
3301 | |||
3302 | test -n "$ac_ct_CC" && break | ||
3303 | done | ||
3304 | |||
3305 | if test "x$ac_ct_CC" = x; then | ||
3306 | CC="" | ||
3307 | else | ||
3308 | case $cross_compiling:$ac_tool_warned in | ||
3309 | yes:) | ||
3310 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
3311 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
3312 | ac_tool_warned=yes ;; | ||
3313 | esac | ||
3314 | CC=$ac_ct_CC | ||
3315 | fi | ||
3316 | fi | ||
3317 | |||
3318 | fi | ||
3319 | |||
3320 | |||
3321 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
3322 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
3323 | as_fn_error $? "no acceptable C compiler found in \$PATH | ||
3324 | See \`config.log' for more details" "$LINENO" 5; } | ||
3325 | |||
3326 | # Provide some information about the compiler. | ||
3327 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 | ||
3328 | set X $ac_compile | ||
3329 | ac_compiler=$2 | ||
3330 | for ac_option in --version -v -V -qversion; do | ||
3331 | { { ac_try="$ac_compiler $ac_option >&5" | ||
3332 | case "(($ac_try" in | ||
3333 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3334 | *) ac_try_echo=$ac_try;; | ||
3335 | esac | ||
3336 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
3337 | $as_echo "$ac_try_echo"; } >&5 | ||
3338 | (eval "$ac_compiler $ac_option >&5") 2>conftest.err | ||
3339 | ac_status=$? | ||
3340 | if test -s conftest.err; then | ||
3341 | sed '10a\ | ||
3342 | ... rest of stderr output deleted ... | ||
3343 | 10q' conftest.err >conftest.er1 | ||
3344 | cat conftest.er1 >&5 | ||
3345 | fi | ||
3346 | rm -f conftest.er1 conftest.err | ||
3347 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
3348 | test $ac_status = 0; } | ||
3349 | done | ||
3350 | |||
3351 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3352 | /* end confdefs.h. */ | ||
3353 | |||
3354 | int | ||
3355 | main () | ||
3356 | { | ||
3357 | |||
3358 | ; | ||
3359 | return 0; | ||
3360 | } | ||
3361 | _ACEOF | ||
3362 | ac_clean_files_save=$ac_clean_files | ||
3363 | ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" | ||
3364 | # Try to create an executable without -o first, disregard a.out. | ||
3365 | # It will help us diagnose broken compilers, and finding out an intuition | ||
3366 | # of exeext. | ||
3367 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 | ||
3368 | $as_echo_n "checking whether the C compiler works... " >&6; } | ||
3369 | ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` | ||
3370 | |||
3371 | # The possible output files: | ||
3372 | ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" | ||
3373 | |||
3374 | ac_rmfiles= | ||
3375 | for ac_file in $ac_files | ||
3376 | do | ||
3377 | case $ac_file in | ||
3378 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; | ||
3379 | * ) ac_rmfiles="$ac_rmfiles $ac_file";; | ||
3380 | esac | ||
3381 | done | ||
3382 | rm -f $ac_rmfiles | ||
3383 | |||
3384 | if { { ac_try="$ac_link_default" | ||
3385 | case "(($ac_try" in | ||
3386 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3387 | *) ac_try_echo=$ac_try;; | ||
3388 | esac | ||
3389 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
3390 | $as_echo "$ac_try_echo"; } >&5 | ||
3391 | (eval "$ac_link_default") 2>&5 | ||
3392 | ac_status=$? | ||
3393 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
3394 | test $ac_status = 0; }; then : | ||
3395 | # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. | ||
3396 | # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' | ||
3397 | # in a Makefile. We should not override ac_cv_exeext if it was cached, | ||
3398 | # so that the user can short-circuit this test for compilers unknown to | ||
3399 | # Autoconf. | ||
3400 | for ac_file in $ac_files '' | ||
3401 | do | ||
3402 | test -f "$ac_file" || continue | ||
3403 | case $ac_file in | ||
3404 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) | ||
3405 | ;; | ||
3406 | [ab].out ) | ||
3407 | # We found the default executable, but exeext='' is most | ||
3408 | # certainly right. | ||
3409 | break;; | ||
3410 | *.* ) | ||
3411 | if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; | ||
3412 | then :; else | ||
3413 | ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` | ||
3414 | fi | ||
3415 | # We set ac_cv_exeext here because the later test for it is not | ||
3416 | # safe: cross compilers may not add the suffix if given an `-o' | ||
3417 | # argument, so we may need to know it at that point already. | ||
3418 | # Even if this section looks crufty: it has the advantage of | ||
3419 | # actually working. | ||
3420 | break;; | ||
3421 | * ) | ||
3422 | break;; | ||
3423 | esac | ||
3424 | done | ||
3425 | test "$ac_cv_exeext" = no && ac_cv_exeext= | ||
3426 | |||
3427 | else | ||
3428 | ac_file='' | ||
3429 | fi | ||
3430 | if test -z "$ac_file"; then : | ||
3431 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
3432 | $as_echo "no" >&6; } | ||
3433 | $as_echo "$as_me: failed program was:" >&5 | ||
3434 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3435 | |||
3436 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
3437 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
3438 | as_fn_error 77 "C compiler cannot create executables | ||
3439 | See \`config.log' for more details" "$LINENO" 5; } | ||
3440 | else | ||
3441 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
3442 | $as_echo "yes" >&6; } | ||
3443 | fi | ||
3444 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 | ||
3445 | $as_echo_n "checking for C compiler default output file name... " >&6; } | ||
3446 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 | ||
3447 | $as_echo "$ac_file" >&6; } | ||
3448 | ac_exeext=$ac_cv_exeext | ||
3449 | |||
3450 | rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out | ||
3451 | ac_clean_files=$ac_clean_files_save | ||
3452 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 | ||
3453 | $as_echo_n "checking for suffix of executables... " >&6; } | ||
3454 | if { { ac_try="$ac_link" | ||
3455 | case "(($ac_try" in | ||
3456 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3457 | *) ac_try_echo=$ac_try;; | ||
3458 | esac | ||
3459 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
3460 | $as_echo "$ac_try_echo"; } >&5 | ||
3461 | (eval "$ac_link") 2>&5 | ||
3462 | ac_status=$? | ||
3463 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
3464 | test $ac_status = 0; }; then : | ||
3465 | # If both `conftest.exe' and `conftest' are `present' (well, observable) | ||
3466 | # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will | ||
3467 | # work properly (i.e., refer to `conftest.exe'), while it won't with | ||
3468 | # `rm'. | ||
3469 | for ac_file in conftest.exe conftest conftest.*; do | ||
3470 | test -f "$ac_file" || continue | ||
3471 | case $ac_file in | ||
3472 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; | ||
3473 | *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` | ||
3474 | break;; | ||
3475 | * ) break;; | ||
3476 | esac | ||
3477 | done | ||
3478 | else | ||
3479 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
3480 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
3481 | as_fn_error $? "cannot compute suffix of executables: cannot compile and link | ||
3482 | See \`config.log' for more details" "$LINENO" 5; } | ||
3483 | fi | ||
3484 | rm -f conftest conftest$ac_cv_exeext | ||
3485 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 | ||
3486 | $as_echo "$ac_cv_exeext" >&6; } | ||
3487 | |||
3488 | rm -f conftest.$ac_ext | ||
3489 | EXEEXT=$ac_cv_exeext | ||
3490 | ac_exeext=$EXEEXT | ||
3491 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3492 | /* end confdefs.h. */ | ||
3493 | #include <stdio.h> | ||
3494 | int | ||
3495 | main () | ||
3496 | { | ||
3497 | FILE *f = fopen ("conftest.out", "w"); | ||
3498 | return ferror (f) || fclose (f) != 0; | ||
3499 | |||
3500 | ; | ||
3501 | return 0; | ||
3502 | } | ||
3503 | _ACEOF | ||
3504 | ac_clean_files="$ac_clean_files conftest.out" | ||
3505 | # Check that the compiler produces executables we can run. If not, either | ||
3506 | # the compiler is broken, or we cross compile. | ||
3507 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 | ||
3508 | $as_echo_n "checking whether we are cross compiling... " >&6; } | ||
3509 | if test "$cross_compiling" != yes; then | ||
3510 | { { ac_try="$ac_link" | ||
3511 | case "(($ac_try" in | ||
3512 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3513 | *) ac_try_echo=$ac_try;; | ||
3514 | esac | ||
3515 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
3516 | $as_echo "$ac_try_echo"; } >&5 | ||
3517 | (eval "$ac_link") 2>&5 | ||
3518 | ac_status=$? | ||
3519 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
3520 | test $ac_status = 0; } | ||
3521 | if { ac_try='./conftest$ac_cv_exeext' | ||
3522 | { { case "(($ac_try" in | ||
3523 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3524 | *) ac_try_echo=$ac_try;; | ||
3525 | esac | ||
3526 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
3527 | $as_echo "$ac_try_echo"; } >&5 | ||
3528 | (eval "$ac_try") 2>&5 | ||
3529 | ac_status=$? | ||
3530 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
3531 | test $ac_status = 0; }; }; then | ||
3532 | cross_compiling=no | ||
3533 | else | ||
3534 | if test "$cross_compiling" = maybe; then | ||
3535 | cross_compiling=yes | ||
3536 | else | ||
3537 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
3538 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
3539 | as_fn_error $? "cannot run C compiled programs. | ||
3540 | If you meant to cross compile, use \`--host'. | ||
3541 | See \`config.log' for more details" "$LINENO" 5; } | ||
3542 | fi | ||
3543 | fi | ||
3544 | fi | ||
3545 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 | ||
3546 | $as_echo "$cross_compiling" >&6; } | ||
3547 | |||
3548 | rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out | ||
3549 | ac_clean_files=$ac_clean_files_save | ||
3550 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 | ||
3551 | $as_echo_n "checking for suffix of object files... " >&6; } | ||
3552 | if ${ac_cv_objext+:} false; then : | ||
3553 | $as_echo_n "(cached) " >&6 | ||
3554 | else | ||
3555 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3556 | /* end confdefs.h. */ | ||
3557 | |||
3558 | int | ||
3559 | main () | ||
3560 | { | ||
3561 | |||
3562 | ; | ||
3563 | return 0; | ||
3564 | } | ||
3565 | _ACEOF | ||
3566 | rm -f conftest.o conftest.obj | ||
3567 | if { { ac_try="$ac_compile" | ||
3568 | case "(($ac_try" in | ||
3569 | *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; | ||
3570 | *) ac_try_echo=$ac_try;; | ||
3571 | esac | ||
3572 | eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" | ||
3573 | $as_echo "$ac_try_echo"; } >&5 | ||
3574 | (eval "$ac_compile") 2>&5 | ||
3575 | ac_status=$? | ||
3576 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
3577 | test $ac_status = 0; }; then : | ||
3578 | for ac_file in conftest.o conftest.obj conftest.*; do | ||
3579 | test -f "$ac_file" || continue; | ||
3580 | case $ac_file in | ||
3581 | *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; | ||
3582 | *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` | ||
3583 | break;; | ||
3584 | esac | ||
3585 | done | ||
3586 | else | ||
3587 | $as_echo "$as_me: failed program was:" >&5 | ||
3588 | sed 's/^/| /' conftest.$ac_ext >&5 | ||
3589 | |||
3590 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
3591 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
3592 | as_fn_error $? "cannot compute suffix of object files: cannot compile | ||
3593 | See \`config.log' for more details" "$LINENO" 5; } | ||
3594 | fi | ||
3595 | rm -f conftest.$ac_cv_objext conftest.$ac_ext | ||
3596 | fi | ||
3597 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 | ||
3598 | $as_echo "$ac_cv_objext" >&6; } | ||
3599 | OBJEXT=$ac_cv_objext | ||
3600 | ac_objext=$OBJEXT | ||
3601 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 | ||
3602 | $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } | ||
3603 | if ${ac_cv_c_compiler_gnu+:} false; then : | ||
3604 | $as_echo_n "(cached) " >&6 | ||
3605 | else | ||
3606 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3607 | /* end confdefs.h. */ | ||
3608 | |||
3609 | int | ||
3610 | main () | ||
3611 | { | ||
3612 | #ifndef __GNUC__ | ||
3613 | choke me | ||
3614 | #endif | ||
3615 | |||
3616 | ; | ||
3617 | return 0; | ||
3618 | } | ||
3619 | _ACEOF | ||
3620 | if ac_fn_c_try_compile "$LINENO"; then : | ||
3621 | ac_compiler_gnu=yes | ||
3622 | else | ||
3623 | ac_compiler_gnu=no | ||
3624 | fi | ||
3625 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
3626 | ac_cv_c_compiler_gnu=$ac_compiler_gnu | ||
3627 | |||
3628 | fi | ||
3629 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 | ||
3630 | $as_echo "$ac_cv_c_compiler_gnu" >&6; } | ||
3631 | if test $ac_compiler_gnu = yes; then | ||
3632 | GCC=yes | ||
3633 | else | ||
3634 | GCC= | ||
3635 | fi | ||
3636 | ac_test_CFLAGS=${CFLAGS+set} | ||
3637 | ac_save_CFLAGS=$CFLAGS | ||
3638 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 | ||
3639 | $as_echo_n "checking whether $CC accepts -g... " >&6; } | ||
3640 | if ${ac_cv_prog_cc_g+:} false; then : | ||
3641 | $as_echo_n "(cached) " >&6 | ||
3642 | else | ||
3643 | ac_save_c_werror_flag=$ac_c_werror_flag | ||
3644 | ac_c_werror_flag=yes | ||
3645 | ac_cv_prog_cc_g=no | ||
3646 | CFLAGS="-g" | ||
3647 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3648 | /* end confdefs.h. */ | ||
3649 | |||
3650 | int | ||
3651 | main () | ||
3652 | { | ||
3653 | |||
3654 | ; | ||
3655 | return 0; | ||
3656 | } | ||
3657 | _ACEOF | ||
3658 | if ac_fn_c_try_compile "$LINENO"; then : | ||
3659 | ac_cv_prog_cc_g=yes | ||
3660 | else | ||
3661 | CFLAGS="" | ||
3662 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3663 | /* end confdefs.h. */ | ||
3664 | |||
3665 | int | ||
3666 | main () | ||
3667 | { | ||
3668 | |||
3669 | ; | ||
3670 | return 0; | ||
3671 | } | ||
3672 | _ACEOF | ||
3673 | if ac_fn_c_try_compile "$LINENO"; then : | ||
3674 | |||
3675 | else | ||
3676 | ac_c_werror_flag=$ac_save_c_werror_flag | ||
3677 | CFLAGS="-g" | ||
3678 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3679 | /* end confdefs.h. */ | ||
3680 | |||
3681 | int | ||
3682 | main () | ||
3683 | { | ||
3684 | |||
3685 | ; | ||
3686 | return 0; | ||
3687 | } | ||
3688 | _ACEOF | ||
3689 | if ac_fn_c_try_compile "$LINENO"; then : | ||
3690 | ac_cv_prog_cc_g=yes | ||
3691 | fi | ||
3692 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
3693 | fi | ||
3694 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
3695 | fi | ||
3696 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
3697 | ac_c_werror_flag=$ac_save_c_werror_flag | ||
3698 | fi | ||
3699 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 | ||
3700 | $as_echo "$ac_cv_prog_cc_g" >&6; } | ||
3701 | if test "$ac_test_CFLAGS" = set; then | ||
3702 | CFLAGS=$ac_save_CFLAGS | ||
3703 | elif test $ac_cv_prog_cc_g = yes; then | ||
3704 | if test "$GCC" = yes; then | ||
3705 | CFLAGS="-g -O2" | ||
3706 | else | ||
3707 | CFLAGS="-g" | ||
3708 | fi | ||
3709 | else | ||
3710 | if test "$GCC" = yes; then | ||
3711 | CFLAGS="-O2" | ||
3712 | else | ||
3713 | CFLAGS= | ||
3714 | fi | ||
3715 | fi | ||
3716 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 | ||
3717 | $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } | ||
3718 | if ${ac_cv_prog_cc_c89+:} false; then : | ||
3719 | $as_echo_n "(cached) " >&6 | ||
3720 | else | ||
3721 | ac_cv_prog_cc_c89=no | ||
3722 | ac_save_CC=$CC | ||
3723 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3724 | /* end confdefs.h. */ | ||
3725 | #include <stdarg.h> | ||
3726 | #include <stdio.h> | ||
3727 | struct stat; | ||
3728 | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | ||
3729 | struct buf { int x; }; | ||
3730 | FILE * (*rcsopen) (struct buf *, struct stat *, int); | ||
3731 | static char *e (p, i) | ||
3732 | char **p; | ||
3733 | int i; | ||
3734 | { | ||
3735 | return p[i]; | ||
3736 | } | ||
3737 | static char *f (char * (*g) (char **, int), char **p, ...) | ||
3738 | { | ||
3739 | char *s; | ||
3740 | va_list v; | ||
3741 | va_start (v,p); | ||
3742 | s = g (p, va_arg (v,int)); | ||
3743 | va_end (v); | ||
3744 | return s; | ||
3745 | } | ||
3746 | |||
3747 | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | ||
3748 | function prototypes and stuff, but not '\xHH' hex character constants. | ||
3749 | These don't provoke an error unfortunately, instead are silently treated | ||
3750 | as 'x'. The following induces an error, until -std is added to get | ||
3751 | proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | ||
3752 | array size at least. It's necessary to write '\x00'==0 to get something | ||
3753 | that's true only with -std. */ | ||
3754 | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | ||
3755 | |||
3756 | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters | ||
3757 | inside strings and character constants. */ | ||
3758 | #define FOO(x) 'x' | ||
3759 | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; | ||
3760 | |||
3761 | int test (int i, double x); | ||
3762 | struct s1 {int (*f) (int a);}; | ||
3763 | struct s2 {int (*f) (double a);}; | ||
3764 | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | ||
3765 | int argc; | ||
3766 | char **argv; | ||
3767 | int | ||
3768 | main () | ||
3769 | { | ||
3770 | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ||
3771 | ; | ||
3772 | return 0; | ||
3773 | } | ||
3774 | _ACEOF | ||
3775 | for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ | ||
3776 | -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" | ||
3777 | do | ||
3778 | CC="$ac_save_CC $ac_arg" | ||
3779 | if ac_fn_c_try_compile "$LINENO"; then : | ||
3780 | ac_cv_prog_cc_c89=$ac_arg | ||
3781 | fi | ||
3782 | rm -f core conftest.err conftest.$ac_objext | ||
3783 | test "x$ac_cv_prog_cc_c89" != "xno" && break | ||
3784 | done | ||
3785 | rm -f conftest.$ac_ext | ||
3786 | CC=$ac_save_CC | ||
3787 | |||
3788 | fi | ||
3789 | # AC_CACHE_VAL | ||
3790 | case "x$ac_cv_prog_cc_c89" in | ||
3791 | x) | ||
3792 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 | ||
3793 | $as_echo "none needed" >&6; } ;; | ||
3794 | xno) | ||
3795 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 | ||
3796 | $as_echo "unsupported" >&6; } ;; | ||
3797 | *) | ||
3798 | CC="$CC $ac_cv_prog_cc_c89" | ||
3799 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 | ||
3800 | $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; | ||
3801 | esac | ||
3802 | if test "x$ac_cv_prog_cc_c89" != xno; then : | ||
3803 | |||
3804 | fi | ||
3805 | |||
3806 | ac_ext=c | ||
3807 | ac_cpp='$CPP $CPPFLAGS' | ||
3808 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
3809 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
3810 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
3811 | |||
3812 | ac_ext=c | ||
3813 | ac_cpp='$CPP $CPPFLAGS' | ||
3814 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
3815 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
3816 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
3817 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 | ||
3818 | $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } | ||
3819 | if ${am_cv_prog_cc_c_o+:} false; then : | ||
3820 | $as_echo_n "(cached) " >&6 | ||
3821 | else | ||
3822 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
3823 | /* end confdefs.h. */ | ||
3824 | |||
3825 | int | ||
3826 | main () | ||
3827 | { | ||
3828 | |||
3829 | ; | ||
3830 | return 0; | ||
3831 | } | ||
3832 | _ACEOF | ||
3833 | # Make sure it works both with $CC and with simple cc. | ||
3834 | # Following AC_PROG_CC_C_O, we do the test twice because some | ||
3835 | # compilers refuse to overwrite an existing .o file with -o, | ||
3836 | # though they will create one. | ||
3837 | am_cv_prog_cc_c_o=yes | ||
3838 | for am_i in 1 2; do | ||
3839 | if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 | ||
3840 | ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 | ||
3841 | ac_status=$? | ||
3842 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3843 | (exit $ac_status); } \ | ||
3844 | && test -f conftest2.$ac_objext; then | ||
3845 | : OK | ||
3846 | else | ||
3847 | am_cv_prog_cc_c_o=no | ||
3848 | break | ||
3849 | fi | ||
3850 | done | ||
3851 | rm -f core conftest* | ||
3852 | unset am_i | ||
3853 | fi | ||
3854 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 | ||
3855 | $as_echo "$am_cv_prog_cc_c_o" >&6; } | ||
3856 | if test "$am_cv_prog_cc_c_o" != yes; then | ||
3857 | # Losing compiler, so override with the script. | ||
3858 | # FIXME: It is wrong to rewrite CC. | ||
3859 | # But if we don't then we get into trouble of one sort or another. | ||
3860 | # A longer-term fix would be to have automake use am__CC in this case, | ||
3861 | # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" | ||
3862 | CC="$am_aux_dir/compile $CC" | ||
3863 | fi | ||
3864 | ac_ext=c | ||
3865 | ac_cpp='$CPP $CPPFLAGS' | ||
3866 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
3867 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
3868 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
3869 | |||
3870 | DEPDIR="${am__leading_dot}deps" | ||
3871 | |||
3872 | ac_config_commands="$ac_config_commands depfiles" | ||
3873 | |||
3874 | |||
3875 | am_make=${MAKE-make} | ||
3876 | cat > confinc << 'END' | ||
3877 | am__doit: | ||
3878 | @echo this is the am__doit target | ||
3879 | .PHONY: am__doit | ||
3880 | END | ||
3881 | # If we don't find an include directive, just comment out the code. | ||
3882 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 | ||
3883 | $as_echo_n "checking for style of include used by $am_make... " >&6; } | ||
3884 | am__include="#" | ||
3885 | am__quote= | ||
3886 | _am_result=none | ||
3887 | # First try GNU make style include. | ||
3888 | echo "include confinc" > confmf | ||
3889 | # Ignore all kinds of additional output from 'make'. | ||
3890 | case `$am_make -s -f confmf 2> /dev/null` in #( | ||
3891 | *the\ am__doit\ target*) | ||
3892 | am__include=include | ||
3893 | am__quote= | ||
3894 | _am_result=GNU | ||
3895 | ;; | ||
3896 | esac | ||
3897 | # Now try BSD make style include. | ||
3898 | if test "$am__include" = "#"; then | ||
3899 | echo '.include "confinc"' > confmf | ||
3900 | case `$am_make -s -f confmf 2> /dev/null` in #( | ||
3901 | *the\ am__doit\ target*) | ||
3902 | am__include=.include | ||
3903 | am__quote="\"" | ||
3904 | _am_result=BSD | ||
3905 | ;; | ||
3906 | esac | ||
3907 | fi | ||
3908 | |||
3909 | |||
3910 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 | ||
3911 | $as_echo "$_am_result" >&6; } | ||
3912 | rm -f confinc confmf | ||
3913 | |||
3914 | # Check whether --enable-dependency-tracking was given. | ||
3915 | if test "${enable_dependency_tracking+set}" = set; then : | ||
3916 | enableval=$enable_dependency_tracking; | ||
3917 | fi | ||
3918 | |||
3919 | if test "x$enable_dependency_tracking" != xno; then | ||
3920 | am_depcomp="$ac_aux_dir/depcomp" | ||
3921 | AMDEPBACKSLASH='\' | ||
3922 | am__nodep='_no' | ||
3923 | fi | ||
3924 | if test "x$enable_dependency_tracking" != xno; then | ||
3925 | AMDEP_TRUE= | ||
3926 | AMDEP_FALSE='#' | ||
3927 | else | ||
3928 | AMDEP_TRUE='#' | ||
3929 | AMDEP_FALSE= | ||
3930 | fi | ||
3931 | |||
3932 | |||
3933 | |||
3934 | depcc="$CC" am_compiler_list= | ||
3935 | |||
3936 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 | ||
3937 | $as_echo_n "checking dependency style of $depcc... " >&6; } | ||
3938 | if ${am_cv_CC_dependencies_compiler_type+:} false; then : | ||
3939 | $as_echo_n "(cached) " >&6 | ||
3940 | else | ||
3941 | if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then | ||
3942 | # We make a subdir and do the tests there. Otherwise we can end up | ||
3943 | # making bogus files that we don't know about and never remove. For | ||
3944 | # instance it was reported that on HP-UX the gcc test will end up | ||
3945 | # making a dummy file named 'D' -- because '-MD' means "put the output | ||
3946 | # in D". | ||
3947 | rm -rf conftest.dir | ||
3948 | mkdir conftest.dir | ||
3949 | # Copy depcomp to subdir because otherwise we won't find it if we're | ||
3950 | # using a relative directory. | ||
3951 | cp "$am_depcomp" conftest.dir | ||
3952 | cd conftest.dir | ||
3953 | # We will build objects and dependencies in a subdirectory because | ||
3954 | # it helps to detect inapplicable dependency modes. For instance | ||
3955 | # both Tru64's cc and ICC support -MD to output dependencies as a | ||
3956 | # side effect of compilation, but ICC will put the dependencies in | ||
3957 | # the current directory while Tru64 will put them in the object | ||
3958 | # directory. | ||
3959 | mkdir sub | ||
3960 | |||
3961 | am_cv_CC_dependencies_compiler_type=none | ||
3962 | if test "$am_compiler_list" = ""; then | ||
3963 | am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` | ||
3964 | fi | ||
3965 | am__universal=false | ||
3966 | case " $depcc " in #( | ||
3967 | *\ -arch\ *\ -arch\ *) am__universal=true ;; | ||
3968 | esac | ||
3969 | |||
3970 | for depmode in $am_compiler_list; do | ||
3971 | # Setup a source with many dependencies, because some compilers | ||
3972 | # like to wrap large dependency lists on column 80 (with \), and | ||
3973 | # we should not choose a depcomp mode which is confused by this. | ||
3974 | # | ||
3975 | # We need to recreate these files for each test, as the compiler may | ||
3976 | # overwrite some of them when testing with obscure command lines. | ||
3977 | # This happens at least with the AIX C compiler. | ||
3978 | : > sub/conftest.c | ||
3979 | for i in 1 2 3 4 5 6; do | ||
3980 | echo '#include "conftst'$i'.h"' >> sub/conftest.c | ||
3981 | # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with | ||
3982 | # Solaris 10 /bin/sh. | ||
3983 | echo '/* dummy */' > sub/conftst$i.h | ||
3984 | done | ||
3985 | echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf | ||
3986 | |||
3987 | # We check with '-c' and '-o' for the sake of the "dashmstdout" | ||
3988 | # mode. It turns out that the SunPro C++ compiler does not properly | ||
3989 | # handle '-M -o', and we need to detect this. Also, some Intel | ||
3990 | # versions had trouble with output in subdirs. | ||
3991 | am__obj=sub/conftest.${OBJEXT-o} | ||
3992 | am__minus_obj="-o $am__obj" | ||
3993 | case $depmode in | ||
3994 | gcc) | ||
3995 | # This depmode causes a compiler race in universal mode. | ||
3996 | test "$am__universal" = false || continue | ||
3997 | ;; | ||
3998 | nosideeffect) | ||
3999 | # After this tag, mechanisms are not by side-effect, so they'll | ||
4000 | # only be used when explicitly requested. | ||
4001 | if test "x$enable_dependency_tracking" = xyes; then | ||
4002 | continue | ||
4003 | else | ||
4004 | break | ||
4005 | fi | ||
4006 | ;; | ||
4007 | msvc7 | msvc7msys | msvisualcpp | msvcmsys) | ||
4008 | # This compiler won't grok '-c -o', but also, the minuso test has | ||
4009 | # not run yet. These depmodes are late enough in the game, and | ||
4010 | # so weak that their functioning should not be impacted. | ||
4011 | am__obj=conftest.${OBJEXT-o} | ||
4012 | am__minus_obj= | ||
4013 | ;; | ||
4014 | none) break ;; | ||
4015 | esac | ||
4016 | if depmode=$depmode \ | ||
4017 | source=sub/conftest.c object=$am__obj \ | ||
4018 | depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ | ||
4019 | $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ | ||
4020 | >/dev/null 2>conftest.err && | ||
4021 | grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && | ||
4022 | grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && | ||
4023 | grep $am__obj sub/conftest.Po > /dev/null 2>&1 && | ||
4024 | ${MAKE-make} -s -f confmf > /dev/null 2>&1; then | ||
4025 | # icc doesn't choke on unknown options, it will just issue warnings | ||
4026 | # or remarks (even with -Werror). So we grep stderr for any message | ||
4027 | # that says an option was ignored or not supported. | ||
4028 | # When given -MP, icc 7.0 and 7.1 complain thusly: | ||
4029 | # icc: Command line warning: ignoring option '-M'; no argument required | ||
4030 | # The diagnosis changed in icc 8.0: | ||
4031 | # icc: Command line remark: option '-MP' not supported | ||
4032 | if (grep 'ignoring option' conftest.err || | ||
4033 | grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else | ||
4034 | am_cv_CC_dependencies_compiler_type=$depmode | ||
4035 | break | ||
4036 | fi | ||
4037 | fi | ||
4038 | done | ||
4039 | |||
4040 | cd .. | ||
4041 | rm -rf conftest.dir | ||
4042 | else | ||
4043 | am_cv_CC_dependencies_compiler_type=none | ||
4044 | fi | ||
4045 | |||
4046 | fi | ||
4047 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 | ||
4048 | $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } | ||
4049 | CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type | ||
4050 | |||
4051 | if | ||
4052 | test "x$enable_dependency_tracking" != xno \ | ||
4053 | && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then | ||
4054 | am__fastdepCC_TRUE= | ||
4055 | am__fastdepCC_FALSE='#' | ||
4056 | else | ||
4057 | am__fastdepCC_TRUE='#' | ||
4058 | am__fastdepCC_FALSE= | ||
4059 | fi | ||
4060 | |||
4061 | |||
4062 | case $ac_cv_prog_cc_stdc in #( | ||
4063 | no) : | ||
4064 | ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #( | ||
4065 | *) : | ||
4066 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 | ||
4067 | $as_echo_n "checking for $CC option to accept ISO C99... " >&6; } | ||
4068 | if ${ac_cv_prog_cc_c99+:} false; then : | ||
4069 | $as_echo_n "(cached) " >&6 | ||
4070 | else | ||
4071 | ac_cv_prog_cc_c99=no | ||
4072 | ac_save_CC=$CC | ||
4073 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4074 | /* end confdefs.h. */ | ||
4075 | #include <stdarg.h> | ||
4076 | #include <stdbool.h> | ||
4077 | #include <stdlib.h> | ||
4078 | #include <wchar.h> | ||
4079 | #include <stdio.h> | ||
4080 | |||
4081 | // Check varargs macros. These examples are taken from C99 6.10.3.5. | ||
4082 | #define debug(...) fprintf (stderr, __VA_ARGS__) | ||
4083 | #define showlist(...) puts (#__VA_ARGS__) | ||
4084 | #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) | ||
4085 | static void | ||
4086 | test_varargs_macros (void) | ||
4087 | { | ||
4088 | int x = 1234; | ||
4089 | int y = 5678; | ||
4090 | debug ("Flag"); | ||
4091 | debug ("X = %d\n", x); | ||
4092 | showlist (The first, second, and third items.); | ||
4093 | report (x>y, "x is %d but y is %d", x, y); | ||
4094 | } | ||
4095 | |||
4096 | // Check long long types. | ||
4097 | #define BIG64 18446744073709551615ull | ||
4098 | #define BIG32 4294967295ul | ||
4099 | #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) | ||
4100 | #if !BIG_OK | ||
4101 | your preprocessor is broken; | ||
4102 | #endif | ||
4103 | #if BIG_OK | ||
4104 | #else | ||
4105 | your preprocessor is broken; | ||
4106 | #endif | ||
4107 | static long long int bignum = -9223372036854775807LL; | ||
4108 | static unsigned long long int ubignum = BIG64; | ||
4109 | |||
4110 | struct incomplete_array | ||
4111 | { | ||
4112 | int datasize; | ||
4113 | double data[]; | ||
4114 | }; | ||
4115 | |||
4116 | struct named_init { | ||
4117 | int number; | ||
4118 | const wchar_t *name; | ||
4119 | double average; | ||
4120 | }; | ||
4121 | |||
4122 | typedef const char *ccp; | ||
4123 | |||
4124 | static inline int | ||
4125 | test_restrict (ccp restrict text) | ||
4126 | { | ||
4127 | // See if C++-style comments work. | ||
4128 | // Iterate through items via the restricted pointer. | ||
4129 | // Also check for declarations in for loops. | ||
4130 | for (unsigned int i = 0; *(text+i) != '\0'; ++i) | ||
4131 | continue; | ||
4132 | return 0; | ||
4133 | } | ||
4134 | |||
4135 | // Check varargs and va_copy. | ||
4136 | static void | ||
4137 | test_varargs (const char *format, ...) | ||
4138 | { | ||
4139 | va_list args; | ||
4140 | va_start (args, format); | ||
4141 | va_list args_copy; | ||
4142 | va_copy (args_copy, args); | ||
4143 | |||
4144 | const char *str; | ||
4145 | int number; | ||
4146 | float fnumber; | ||
4147 | |||
4148 | while (*format) | ||
4149 | { | ||
4150 | switch (*format++) | ||
4151 | { | ||
4152 | case 's': // string | ||
4153 | str = va_arg (args_copy, const char *); | ||
4154 | break; | ||
4155 | case 'd': // int | ||
4156 | number = va_arg (args_copy, int); | ||
4157 | break; | ||
4158 | case 'f': // float | ||
4159 | fnumber = va_arg (args_copy, double); | ||
4160 | break; | ||
4161 | default: | ||
4162 | break; | ||
4163 | } | ||
4164 | } | ||
4165 | va_end (args_copy); | ||
4166 | va_end (args); | ||
4167 | } | ||
4168 | |||
4169 | int | ||
4170 | main () | ||
4171 | { | ||
4172 | |||
4173 | // Check bool. | ||
4174 | _Bool success = false; | ||
4175 | |||
4176 | // Check restrict. | ||
4177 | if (test_restrict ("String literal") == 0) | ||
4178 | success = true; | ||
4179 | char *restrict newvar = "Another string"; | ||
4180 | |||
4181 | // Check varargs. | ||
4182 | test_varargs ("s, d' f .", "string", 65, 34.234); | ||
4183 | test_varargs_macros (); | ||
4184 | |||
4185 | // Check flexible array members. | ||
4186 | struct incomplete_array *ia = | ||
4187 | malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); | ||
4188 | ia->datasize = 10; | ||
4189 | for (int i = 0; i < ia->datasize; ++i) | ||
4190 | ia->data[i] = i * 1.234; | ||
4191 | |||
4192 | // Check named initializers. | ||
4193 | struct named_init ni = { | ||
4194 | .number = 34, | ||
4195 | .name = L"Test wide string", | ||
4196 | .average = 543.34343, | ||
4197 | }; | ||
4198 | |||
4199 | ni.number = 58; | ||
4200 | |||
4201 | int dynamic_array[ni.number]; | ||
4202 | dynamic_array[ni.number - 1] = 543; | ||
4203 | |||
4204 | // work around unused variable warnings | ||
4205 | return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' | ||
4206 | || dynamic_array[ni.number - 1] != 543); | ||
4207 | |||
4208 | ; | ||
4209 | return 0; | ||
4210 | } | ||
4211 | _ACEOF | ||
4212 | for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 | ||
4213 | do | ||
4214 | CC="$ac_save_CC $ac_arg" | ||
4215 | if ac_fn_c_try_compile "$LINENO"; then : | ||
4216 | ac_cv_prog_cc_c99=$ac_arg | ||
4217 | fi | ||
4218 | rm -f core conftest.err conftest.$ac_objext | ||
4219 | test "x$ac_cv_prog_cc_c99" != "xno" && break | ||
4220 | done | ||
4221 | rm -f conftest.$ac_ext | ||
4222 | CC=$ac_save_CC | ||
4223 | |||
4224 | fi | ||
4225 | # AC_CACHE_VAL | ||
4226 | case "x$ac_cv_prog_cc_c99" in | ||
4227 | x) | ||
4228 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 | ||
4229 | $as_echo "none needed" >&6; } ;; | ||
4230 | xno) | ||
4231 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 | ||
4232 | $as_echo "unsupported" >&6; } ;; | ||
4233 | *) | ||
4234 | CC="$CC $ac_cv_prog_cc_c99" | ||
4235 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 | ||
4236 | $as_echo "$ac_cv_prog_cc_c99" >&6; } ;; | ||
4237 | esac | ||
4238 | if test "x$ac_cv_prog_cc_c99" != xno; then : | ||
4239 | ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 | ||
4240 | else | ||
4241 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 | ||
4242 | $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } | ||
4243 | if ${ac_cv_prog_cc_c89+:} false; then : | ||
4244 | $as_echo_n "(cached) " >&6 | ||
4245 | else | ||
4246 | ac_cv_prog_cc_c89=no | ||
4247 | ac_save_CC=$CC | ||
4248 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4249 | /* end confdefs.h. */ | ||
4250 | #include <stdarg.h> | ||
4251 | #include <stdio.h> | ||
4252 | struct stat; | ||
4253 | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | ||
4254 | struct buf { int x; }; | ||
4255 | FILE * (*rcsopen) (struct buf *, struct stat *, int); | ||
4256 | static char *e (p, i) | ||
4257 | char **p; | ||
4258 | int i; | ||
4259 | { | ||
4260 | return p[i]; | ||
4261 | } | ||
4262 | static char *f (char * (*g) (char **, int), char **p, ...) | ||
4263 | { | ||
4264 | char *s; | ||
4265 | va_list v; | ||
4266 | va_start (v,p); | ||
4267 | s = g (p, va_arg (v,int)); | ||
4268 | va_end (v); | ||
4269 | return s; | ||
4270 | } | ||
4271 | |||
4272 | /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has | ||
4273 | function prototypes and stuff, but not '\xHH' hex character constants. | ||
4274 | These don't provoke an error unfortunately, instead are silently treated | ||
4275 | as 'x'. The following induces an error, until -std is added to get | ||
4276 | proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an | ||
4277 | array size at least. It's necessary to write '\x00'==0 to get something | ||
4278 | that's true only with -std. */ | ||
4279 | int osf4_cc_array ['\x00' == 0 ? 1 : -1]; | ||
4280 | |||
4281 | /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters | ||
4282 | inside strings and character constants. */ | ||
4283 | #define FOO(x) 'x' | ||
4284 | int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; | ||
4285 | |||
4286 | int test (int i, double x); | ||
4287 | struct s1 {int (*f) (int a);}; | ||
4288 | struct s2 {int (*f) (double a);}; | ||
4289 | int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | ||
4290 | int argc; | ||
4291 | char **argv; | ||
4292 | int | ||
4293 | main () | ||
4294 | { | ||
4295 | return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ||
4296 | ; | ||
4297 | return 0; | ||
4298 | } | ||
4299 | _ACEOF | ||
4300 | for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ | ||
4301 | -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" | ||
4302 | do | ||
4303 | CC="$ac_save_CC $ac_arg" | ||
4304 | if ac_fn_c_try_compile "$LINENO"; then : | ||
4305 | ac_cv_prog_cc_c89=$ac_arg | ||
4306 | fi | ||
4307 | rm -f core conftest.err conftest.$ac_objext | ||
4308 | test "x$ac_cv_prog_cc_c89" != "xno" && break | ||
4309 | done | ||
4310 | rm -f conftest.$ac_ext | ||
4311 | CC=$ac_save_CC | ||
4312 | |||
4313 | fi | ||
4314 | # AC_CACHE_VAL | ||
4315 | case "x$ac_cv_prog_cc_c89" in | ||
4316 | x) | ||
4317 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 | ||
4318 | $as_echo "none needed" >&6; } ;; | ||
4319 | xno) | ||
4320 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 | ||
4321 | $as_echo "unsupported" >&6; } ;; | ||
4322 | *) | ||
4323 | CC="$CC $ac_cv_prog_cc_c89" | ||
4324 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 | ||
4325 | $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; | ||
4326 | esac | ||
4327 | if test "x$ac_cv_prog_cc_c89" != xno; then : | ||
4328 | ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 | ||
4329 | else | ||
4330 | ac_cv_prog_cc_stdc=no | ||
4331 | fi | ||
4332 | |||
4333 | fi | ||
4334 | ;; | ||
4335 | esac | ||
4336 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5 | ||
4337 | $as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } | ||
4338 | if ${ac_cv_prog_cc_stdc+:} false; then : | ||
4339 | $as_echo_n "(cached) " >&6 | ||
4340 | fi | ||
4341 | |||
4342 | case $ac_cv_prog_cc_stdc in #( | ||
4343 | no) : | ||
4344 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 | ||
4345 | $as_echo "unsupported" >&6; } ;; #( | ||
4346 | '') : | ||
4347 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 | ||
4348 | $as_echo "none needed" >&6; } ;; #( | ||
4349 | *) : | ||
4350 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5 | ||
4351 | $as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; | ||
4352 | esac | ||
4353 | |||
4354 | ac_ext=c | ||
4355 | ac_cpp='$CPP $CPPFLAGS' | ||
4356 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
4357 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
4358 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
4359 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 | ||
4360 | $as_echo_n "checking how to run the C preprocessor... " >&6; } | ||
4361 | # On Suns, sometimes $CPP names a directory. | ||
4362 | if test -n "$CPP" && test -d "$CPP"; then | ||
4363 | CPP= | ||
4364 | fi | ||
4365 | if test -z "$CPP"; then | ||
4366 | if ${ac_cv_prog_CPP+:} false; then : | ||
4367 | $as_echo_n "(cached) " >&6 | ||
4368 | else | ||
4369 | # Double quotes because CPP needs to be expanded | ||
4370 | for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" | ||
4371 | do | ||
4372 | ac_preproc_ok=false | ||
4373 | for ac_c_preproc_warn_flag in '' yes | ||
4374 | do | ||
4375 | # Use a header file that comes with gcc, so configuring glibc | ||
4376 | # with a fresh cross-compiler works. | ||
4377 | # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
4378 | # <limits.h> exists even on freestanding compilers. | ||
4379 | # On the NeXT, cc -E runs the code through the compiler's parser, | ||
4380 | # not just through cpp. "Syntax error" is here to catch this case. | ||
4381 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4382 | /* end confdefs.h. */ | ||
4383 | #ifdef __STDC__ | ||
4384 | # include <limits.h> | ||
4385 | #else | ||
4386 | # include <assert.h> | ||
4387 | #endif | ||
4388 | Syntax error | ||
4389 | _ACEOF | ||
4390 | if ac_fn_c_try_cpp "$LINENO"; then : | ||
4391 | |||
4392 | else | ||
4393 | # Broken: fails on valid input. | ||
4394 | continue | ||
4395 | fi | ||
4396 | rm -f conftest.err conftest.i conftest.$ac_ext | ||
4397 | |||
4398 | # OK, works on sane cases. Now check whether nonexistent headers | ||
4399 | # can be detected and how. | ||
4400 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4401 | /* end confdefs.h. */ | ||
4402 | #include <ac_nonexistent.h> | ||
4403 | _ACEOF | ||
4404 | if ac_fn_c_try_cpp "$LINENO"; then : | ||
4405 | # Broken: success on invalid input. | ||
4406 | continue | ||
4407 | else | ||
4408 | # Passes both tests. | ||
4409 | ac_preproc_ok=: | ||
4410 | break | ||
4411 | fi | ||
4412 | rm -f conftest.err conftest.i conftest.$ac_ext | ||
4413 | |||
4414 | done | ||
4415 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | ||
4416 | rm -f conftest.i conftest.err conftest.$ac_ext | ||
4417 | if $ac_preproc_ok; then : | ||
4418 | break | ||
4419 | fi | ||
4420 | |||
4421 | done | ||
4422 | ac_cv_prog_CPP=$CPP | ||
4423 | |||
4424 | fi | ||
4425 | CPP=$ac_cv_prog_CPP | ||
4426 | else | ||
4427 | ac_cv_prog_CPP=$CPP | ||
4428 | fi | ||
4429 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 | ||
4430 | $as_echo "$CPP" >&6; } | ||
4431 | ac_preproc_ok=false | ||
4432 | for ac_c_preproc_warn_flag in '' yes | ||
4433 | do | ||
4434 | # Use a header file that comes with gcc, so configuring glibc | ||
4435 | # with a fresh cross-compiler works. | ||
4436 | # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
4437 | # <limits.h> exists even on freestanding compilers. | ||
4438 | # On the NeXT, cc -E runs the code through the compiler's parser, | ||
4439 | # not just through cpp. "Syntax error" is here to catch this case. | ||
4440 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4441 | /* end confdefs.h. */ | ||
4442 | #ifdef __STDC__ | ||
4443 | # include <limits.h> | ||
4444 | #else | ||
4445 | # include <assert.h> | ||
4446 | #endif | ||
4447 | Syntax error | ||
4448 | _ACEOF | ||
4449 | if ac_fn_c_try_cpp "$LINENO"; then : | ||
4450 | |||
4451 | else | ||
4452 | # Broken: fails on valid input. | ||
4453 | continue | ||
4454 | fi | ||
4455 | rm -f conftest.err conftest.i conftest.$ac_ext | ||
4456 | |||
4457 | # OK, works on sane cases. Now check whether nonexistent headers | ||
4458 | # can be detected and how. | ||
4459 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4460 | /* end confdefs.h. */ | ||
4461 | #include <ac_nonexistent.h> | ||
4462 | _ACEOF | ||
4463 | if ac_fn_c_try_cpp "$LINENO"; then : | ||
4464 | # Broken: success on invalid input. | ||
4465 | continue | ||
4466 | else | ||
4467 | # Passes both tests. | ||
4468 | ac_preproc_ok=: | ||
4469 | break | ||
4470 | fi | ||
4471 | rm -f conftest.err conftest.i conftest.$ac_ext | ||
4472 | |||
4473 | done | ||
4474 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | ||
4475 | rm -f conftest.i conftest.err conftest.$ac_ext | ||
4476 | if $ac_preproc_ok; then : | ||
4477 | |||
4478 | else | ||
4479 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
4480 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
4481 | as_fn_error $? "C preprocessor \"$CPP\" fails sanity check | ||
4482 | See \`config.log' for more details" "$LINENO" 5; } | ||
4483 | fi | ||
4484 | |||
4485 | ac_ext=c | ||
4486 | ac_cpp='$CPP $CPPFLAGS' | ||
4487 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
4488 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
4489 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
4490 | |||
4491 | |||
4492 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 | ||
4493 | $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } | ||
4494 | set x ${MAKE-make} | ||
4495 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` | ||
4496 | if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : | ||
4497 | $as_echo_n "(cached) " >&6 | ||
4498 | else | ||
4499 | cat >conftest.make <<\_ACEOF | ||
4500 | SHELL = /bin/sh | ||
4501 | all: | ||
4502 | @echo '@@@%%%=$(MAKE)=@@@%%%' | ||
4503 | _ACEOF | ||
4504 | # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. | ||
4505 | case `${MAKE-make} -f conftest.make 2>/dev/null` in | ||
4506 | *@@@%%%=?*=@@@%%%*) | ||
4507 | eval ac_cv_prog_make_${ac_make}_set=yes;; | ||
4508 | *) | ||
4509 | eval ac_cv_prog_make_${ac_make}_set=no;; | ||
4510 | esac | ||
4511 | rm -f conftest.make | ||
4512 | fi | ||
4513 | if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then | ||
4514 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
4515 | $as_echo "yes" >&6; } | ||
4516 | SET_MAKE= | ||
4517 | else | ||
4518 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
4519 | $as_echo "no" >&6; } | ||
4520 | SET_MAKE="MAKE=${MAKE-make}" | ||
4521 | fi | ||
4522 | |||
4523 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 | ||
4524 | $as_echo_n "checking whether ln -s works... " >&6; } | ||
4525 | LN_S=$as_ln_s | ||
4526 | if test "$LN_S" = "ln -s"; then | ||
4527 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
4528 | $as_echo "yes" >&6; } | ||
4529 | else | ||
4530 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 | ||
4531 | $as_echo "no, using $LN_S" >&6; } | ||
4532 | fi | ||
4533 | |||
4534 | |||
4535 | if test -n "$ac_tool_prefix"; then | ||
4536 | for ac_prog in ar lib "link -lib" | ||
4537 | do | ||
4538 | # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. | ||
4539 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 | ||
4540 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
4541 | $as_echo_n "checking for $ac_word... " >&6; } | ||
4542 | if ${ac_cv_prog_AR+:} false; then : | ||
4543 | $as_echo_n "(cached) " >&6 | ||
4544 | else | ||
4545 | if test -n "$AR"; then | ||
4546 | ac_cv_prog_AR="$AR" # Let the user override the test. | ||
4547 | else | ||
4548 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
4549 | for as_dir in $PATH | ||
4550 | do | ||
4551 | IFS=$as_save_IFS | ||
4552 | test -z "$as_dir" && as_dir=. | ||
4553 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
4554 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
4555 | ac_cv_prog_AR="$ac_tool_prefix$ac_prog" | ||
4556 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
4557 | break 2 | ||
4558 | fi | ||
4559 | done | ||
4560 | done | ||
4561 | IFS=$as_save_IFS | ||
4562 | |||
4563 | fi | ||
4564 | fi | ||
4565 | AR=$ac_cv_prog_AR | ||
4566 | if test -n "$AR"; then | ||
4567 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 | ||
4568 | $as_echo "$AR" >&6; } | ||
4569 | else | ||
4570 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
4571 | $as_echo "no" >&6; } | ||
4572 | fi | ||
4573 | |||
4574 | |||
4575 | test -n "$AR" && break | ||
4576 | done | ||
4577 | fi | ||
4578 | if test -z "$AR"; then | ||
4579 | ac_ct_AR=$AR | ||
4580 | for ac_prog in ar lib "link -lib" | ||
4581 | do | ||
4582 | # Extract the first word of "$ac_prog", so it can be a program name with args. | ||
4583 | set dummy $ac_prog; ac_word=$2 | ||
4584 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
4585 | $as_echo_n "checking for $ac_word... " >&6; } | ||
4586 | if ${ac_cv_prog_ac_ct_AR+:} false; then : | ||
4587 | $as_echo_n "(cached) " >&6 | ||
4588 | else | ||
4589 | if test -n "$ac_ct_AR"; then | ||
4590 | ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. | ||
4591 | else | ||
4592 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
4593 | for as_dir in $PATH | ||
4594 | do | ||
4595 | IFS=$as_save_IFS | ||
4596 | test -z "$as_dir" && as_dir=. | ||
4597 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
4598 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
4599 | ac_cv_prog_ac_ct_AR="$ac_prog" | ||
4600 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
4601 | break 2 | ||
4602 | fi | ||
4603 | done | ||
4604 | done | ||
4605 | IFS=$as_save_IFS | ||
4606 | |||
4607 | fi | ||
4608 | fi | ||
4609 | ac_ct_AR=$ac_cv_prog_ac_ct_AR | ||
4610 | if test -n "$ac_ct_AR"; then | ||
4611 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 | ||
4612 | $as_echo "$ac_ct_AR" >&6; } | ||
4613 | else | ||
4614 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
4615 | $as_echo "no" >&6; } | ||
4616 | fi | ||
4617 | |||
4618 | |||
4619 | test -n "$ac_ct_AR" && break | ||
4620 | done | ||
4621 | |||
4622 | if test "x$ac_ct_AR" = x; then | ||
4623 | AR="false" | ||
4624 | else | ||
4625 | case $cross_compiling:$ac_tool_warned in | ||
4626 | yes:) | ||
4627 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
4628 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
4629 | ac_tool_warned=yes ;; | ||
4630 | esac | ||
4631 | AR=$ac_ct_AR | ||
4632 | fi | ||
4633 | fi | ||
4634 | |||
4635 | : ${AR=ar} | ||
4636 | |||
4637 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking the archiver ($AR) interface" >&5 | ||
4638 | $as_echo_n "checking the archiver ($AR) interface... " >&6; } | ||
4639 | if ${am_cv_ar_interface+:} false; then : | ||
4640 | $as_echo_n "(cached) " >&6 | ||
4641 | else | ||
4642 | ac_ext=c | ||
4643 | ac_cpp='$CPP $CPPFLAGS' | ||
4644 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
4645 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
4646 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
4647 | |||
4648 | am_cv_ar_interface=ar | ||
4649 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4650 | /* end confdefs.h. */ | ||
4651 | int some_variable = 0; | ||
4652 | _ACEOF | ||
4653 | if ac_fn_c_try_compile "$LINENO"; then : | ||
4654 | am_ar_try='$AR cru libconftest.a conftest.$ac_objext >&5' | ||
4655 | { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 | ||
4656 | (eval $am_ar_try) 2>&5 | ||
4657 | ac_status=$? | ||
4658 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
4659 | test $ac_status = 0; } | ||
4660 | if test "$ac_status" -eq 0; then | ||
4661 | am_cv_ar_interface=ar | ||
4662 | else | ||
4663 | am_ar_try='$AR -NOLOGO -OUT:conftest.lib conftest.$ac_objext >&5' | ||
4664 | { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$am_ar_try\""; } >&5 | ||
4665 | (eval $am_ar_try) 2>&5 | ||
4666 | ac_status=$? | ||
4667 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
4668 | test $ac_status = 0; } | ||
4669 | if test "$ac_status" -eq 0; then | ||
4670 | am_cv_ar_interface=lib | ||
4671 | else | ||
4672 | am_cv_ar_interface=unknown | ||
4673 | fi | ||
4674 | fi | ||
4675 | rm -f conftest.lib libconftest.a | ||
4676 | |||
4677 | fi | ||
4678 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
4679 | ac_ext=c | ||
4680 | ac_cpp='$CPP $CPPFLAGS' | ||
4681 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
4682 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
4683 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
4684 | |||
4685 | fi | ||
4686 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_ar_interface" >&5 | ||
4687 | $as_echo "$am_cv_ar_interface" >&6; } | ||
4688 | |||
4689 | case $am_cv_ar_interface in | ||
4690 | ar) | ||
4691 | ;; | ||
4692 | lib) | ||
4693 | # Microsoft lib, so override with the ar-lib wrapper script. | ||
4694 | # FIXME: It is wrong to rewrite AR. | ||
4695 | # But if we don't then we get into trouble of one sort or another. | ||
4696 | # A longer-term fix would be to have automake use am__AR in this case, | ||
4697 | # and then we could set am__AR="$am_aux_dir/ar-lib \$(AR)" or something | ||
4698 | # similar. | ||
4699 | AR="$am_aux_dir/ar-lib $AR" | ||
4700 | ;; | ||
4701 | unknown) | ||
4702 | as_fn_error $? "could not determine $AR interface" "$LINENO" 5 | ||
4703 | ;; | ||
4704 | esac | ||
4705 | |||
4706 | |||
4707 | # Check if LD supports linker scripts, | ||
4708 | # and define automake conditional HAVE_LD_VERSION_SCRIPT if so. | ||
4709 | # Check whether --enable-ld-version-script was given. | ||
4710 | if test "${enable_ld_version_script+set}" = set; then : | ||
4711 | enableval=$enable_ld_version_script; have_ld_version_script=$enableval | ||
4712 | fi | ||
4713 | |||
4714 | if test -z "$have_ld_version_script"; then | ||
4715 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if LD -Wl,--version-script works" >&5 | ||
4716 | $as_echo_n "checking if LD -Wl,--version-script works... " >&6; } | ||
4717 | save_LDFLAGS="$LDFLAGS" | ||
4718 | LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" | ||
4719 | cat > conftest.map <<EOF | ||
4720 | VERS_1 { | ||
4721 | global: sym; | ||
4722 | }; | ||
4723 | |||
4724 | VERS_2 { | ||
4725 | global: sym; | ||
4726 | } VERS_1; | ||
4727 | EOF | ||
4728 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4729 | /* end confdefs.h. */ | ||
4730 | |||
4731 | int | ||
4732 | main () | ||
4733 | { | ||
4734 | |||
4735 | ; | ||
4736 | return 0; | ||
4737 | } | ||
4738 | _ACEOF | ||
4739 | if ac_fn_c_try_link "$LINENO"; then : | ||
4740 | have_ld_version_script=yes | ||
4741 | else | ||
4742 | have_ld_version_script=no | ||
4743 | fi | ||
4744 | rm -f core conftest.err conftest.$ac_objext \ | ||
4745 | conftest$ac_exeext conftest.$ac_ext | ||
4746 | rm -f conftest.map | ||
4747 | LDFLAGS="$save_LDFLAGS" | ||
4748 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_ld_version_script" >&5 | ||
4749 | $as_echo "$have_ld_version_script" >&6; } | ||
4750 | fi | ||
4751 | if test "$have_ld_version_script" = "yes"; then | ||
4752 | HAVE_LD_VERSION_SCRIPT_TRUE= | ||
4753 | HAVE_LD_VERSION_SCRIPT_FALSE='#' | ||
4754 | else | ||
4755 | HAVE_LD_VERSION_SCRIPT_TRUE='#' | ||
4756 | HAVE_LD_VERSION_SCRIPT_FALSE= | ||
4757 | fi | ||
4758 | |||
4759 | |||
4760 | # See if compiler supports prototypes. | ||
4761 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for function prototypes" >&5 | ||
4762 | $as_echo_n "checking for function prototypes... " >&6; } | ||
4763 | if ${ijg_cv_have_prototypes+:} false; then : | ||
4764 | $as_echo_n "(cached) " >&6 | ||
4765 | else | ||
4766 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4767 | /* end confdefs.h. */ | ||
4768 | |||
4769 | int testfunction (int arg1, int * arg2); /* check prototypes */ | ||
4770 | struct methods_struct { /* check method-pointer declarations */ | ||
4771 | int (*error_exit) (char *msgtext); | ||
4772 | int (*trace_message) (char *msgtext); | ||
4773 | int (*another_method) (void); | ||
4774 | }; | ||
4775 | int testfunction (int arg1, int * arg2) /* check definitions */ | ||
4776 | { return arg2[arg1]; } | ||
4777 | int test2function (void) /* check void arg list */ | ||
4778 | { return 0; } | ||
4779 | |||
4780 | _ACEOF | ||
4781 | if ac_fn_c_try_compile "$LINENO"; then : | ||
4782 | ijg_cv_have_prototypes=yes | ||
4783 | else | ||
4784 | ijg_cv_have_prototypes=no | ||
4785 | fi | ||
4786 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
4787 | fi | ||
4788 | |||
4789 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ijg_cv_have_prototypes" >&5 | ||
4790 | $as_echo "$ijg_cv_have_prototypes" >&6; } | ||
4791 | if test $ijg_cv_have_prototypes = yes; then | ||
4792 | |||
4793 | $as_echo "#define HAVE_PROTOTYPES 1" >>confdefs.h | ||
4794 | |||
4795 | else | ||
4796 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Your compiler does not seem to know about function prototypes. | ||
4797 | Perhaps it needs a special switch to enable ANSI C mode. | ||
4798 | If so, we recommend running configure like this: | ||
4799 | ./configure CC='cc -switch' | ||
4800 | where -switch is the proper switch." >&5 | ||
4801 | $as_echo "$as_me: WARNING: Your compiler does not seem to know about function prototypes. | ||
4802 | Perhaps it needs a special switch to enable ANSI C mode. | ||
4803 | If so, we recommend running configure like this: | ||
4804 | ./configure CC='cc -switch' | ||
4805 | where -switch is the proper switch." >&2;} | ||
4806 | fi | ||
4807 | |||
4808 | # Check header files | ||
4809 | |||
4810 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 | ||
4811 | $as_echo_n "checking for grep that handles long lines and -e... " >&6; } | ||
4812 | if ${ac_cv_path_GREP+:} false; then : | ||
4813 | $as_echo_n "(cached) " >&6 | ||
4814 | else | ||
4815 | if test -z "$GREP"; then | ||
4816 | ac_path_GREP_found=false | ||
4817 | # Loop through the user's path and test for each of PROGNAME-LIST | ||
4818 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
4819 | for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin | ||
4820 | do | ||
4821 | IFS=$as_save_IFS | ||
4822 | test -z "$as_dir" && as_dir=. | ||
4823 | for ac_prog in grep ggrep; do | ||
4824 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
4825 | ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" | ||
4826 | as_fn_executable_p "$ac_path_GREP" || continue | ||
4827 | # Check for GNU ac_path_GREP and select it if it is found. | ||
4828 | # Check for GNU $ac_path_GREP | ||
4829 | case `"$ac_path_GREP" --version 2>&1` in | ||
4830 | *GNU*) | ||
4831 | ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; | ||
4832 | *) | ||
4833 | ac_count=0 | ||
4834 | $as_echo_n 0123456789 >"conftest.in" | ||
4835 | while : | ||
4836 | do | ||
4837 | cat "conftest.in" "conftest.in" >"conftest.tmp" | ||
4838 | mv "conftest.tmp" "conftest.in" | ||
4839 | cp "conftest.in" "conftest.nl" | ||
4840 | $as_echo 'GREP' >> "conftest.nl" | ||
4841 | "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break | ||
4842 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break | ||
4843 | as_fn_arith $ac_count + 1 && ac_count=$as_val | ||
4844 | if test $ac_count -gt ${ac_path_GREP_max-0}; then | ||
4845 | # Best one so far, save it but keep looking for a better one | ||
4846 | ac_cv_path_GREP="$ac_path_GREP" | ||
4847 | ac_path_GREP_max=$ac_count | ||
4848 | fi | ||
4849 | # 10*(2^10) chars as input seems more than enough | ||
4850 | test $ac_count -gt 10 && break | ||
4851 | done | ||
4852 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; | ||
4853 | esac | ||
4854 | |||
4855 | $ac_path_GREP_found && break 3 | ||
4856 | done | ||
4857 | done | ||
4858 | done | ||
4859 | IFS=$as_save_IFS | ||
4860 | if test -z "$ac_cv_path_GREP"; then | ||
4861 | as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | ||
4862 | fi | ||
4863 | else | ||
4864 | ac_cv_path_GREP=$GREP | ||
4865 | fi | ||
4866 | |||
4867 | fi | ||
4868 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 | ||
4869 | $as_echo "$ac_cv_path_GREP" >&6; } | ||
4870 | GREP="$ac_cv_path_GREP" | ||
4871 | |||
4872 | |||
4873 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 | ||
4874 | $as_echo_n "checking for egrep... " >&6; } | ||
4875 | if ${ac_cv_path_EGREP+:} false; then : | ||
4876 | $as_echo_n "(cached) " >&6 | ||
4877 | else | ||
4878 | if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 | ||
4879 | then ac_cv_path_EGREP="$GREP -E" | ||
4880 | else | ||
4881 | if test -z "$EGREP"; then | ||
4882 | ac_path_EGREP_found=false | ||
4883 | # Loop through the user's path and test for each of PROGNAME-LIST | ||
4884 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
4885 | for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin | ||
4886 | do | ||
4887 | IFS=$as_save_IFS | ||
4888 | test -z "$as_dir" && as_dir=. | ||
4889 | for ac_prog in egrep; do | ||
4890 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
4891 | ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" | ||
4892 | as_fn_executable_p "$ac_path_EGREP" || continue | ||
4893 | # Check for GNU ac_path_EGREP and select it if it is found. | ||
4894 | # Check for GNU $ac_path_EGREP | ||
4895 | case `"$ac_path_EGREP" --version 2>&1` in | ||
4896 | *GNU*) | ||
4897 | ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; | ||
4898 | *) | ||
4899 | ac_count=0 | ||
4900 | $as_echo_n 0123456789 >"conftest.in" | ||
4901 | while : | ||
4902 | do | ||
4903 | cat "conftest.in" "conftest.in" >"conftest.tmp" | ||
4904 | mv "conftest.tmp" "conftest.in" | ||
4905 | cp "conftest.in" "conftest.nl" | ||
4906 | $as_echo 'EGREP' >> "conftest.nl" | ||
4907 | "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break | ||
4908 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break | ||
4909 | as_fn_arith $ac_count + 1 && ac_count=$as_val | ||
4910 | if test $ac_count -gt ${ac_path_EGREP_max-0}; then | ||
4911 | # Best one so far, save it but keep looking for a better one | ||
4912 | ac_cv_path_EGREP="$ac_path_EGREP" | ||
4913 | ac_path_EGREP_max=$ac_count | ||
4914 | fi | ||
4915 | # 10*(2^10) chars as input seems more than enough | ||
4916 | test $ac_count -gt 10 && break | ||
4917 | done | ||
4918 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; | ||
4919 | esac | ||
4920 | |||
4921 | $ac_path_EGREP_found && break 3 | ||
4922 | done | ||
4923 | done | ||
4924 | done | ||
4925 | IFS=$as_save_IFS | ||
4926 | if test -z "$ac_cv_path_EGREP"; then | ||
4927 | as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | ||
4928 | fi | ||
4929 | else | ||
4930 | ac_cv_path_EGREP=$EGREP | ||
4931 | fi | ||
4932 | |||
4933 | fi | ||
4934 | fi | ||
4935 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 | ||
4936 | $as_echo "$ac_cv_path_EGREP" >&6; } | ||
4937 | EGREP="$ac_cv_path_EGREP" | ||
4938 | |||
4939 | |||
4940 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 | ||
4941 | $as_echo_n "checking for ANSI C header files... " >&6; } | ||
4942 | if ${ac_cv_header_stdc+:} false; then : | ||
4943 | $as_echo_n "(cached) " >&6 | ||
4944 | else | ||
4945 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4946 | /* end confdefs.h. */ | ||
4947 | #include <stdlib.h> | ||
4948 | #include <stdarg.h> | ||
4949 | #include <string.h> | ||
4950 | #include <float.h> | ||
4951 | |||
4952 | int | ||
4953 | main () | ||
4954 | { | ||
4955 | |||
4956 | ; | ||
4957 | return 0; | ||
4958 | } | ||
4959 | _ACEOF | ||
4960 | if ac_fn_c_try_compile "$LINENO"; then : | ||
4961 | ac_cv_header_stdc=yes | ||
4962 | else | ||
4963 | ac_cv_header_stdc=no | ||
4964 | fi | ||
4965 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
4966 | |||
4967 | if test $ac_cv_header_stdc = yes; then | ||
4968 | # SunOS 4.x string.h does not declare mem*, contrary to ANSI. | ||
4969 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4970 | /* end confdefs.h. */ | ||
4971 | #include <string.h> | ||
4972 | |||
4973 | _ACEOF | ||
4974 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | ||
4975 | $EGREP "memchr" >/dev/null 2>&1; then : | ||
4976 | |||
4977 | else | ||
4978 | ac_cv_header_stdc=no | ||
4979 | fi | ||
4980 | rm -f conftest* | ||
4981 | |||
4982 | fi | ||
4983 | |||
4984 | if test $ac_cv_header_stdc = yes; then | ||
4985 | # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. | ||
4986 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
4987 | /* end confdefs.h. */ | ||
4988 | #include <stdlib.h> | ||
4989 | |||
4990 | _ACEOF | ||
4991 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | ||
4992 | $EGREP "free" >/dev/null 2>&1; then : | ||
4993 | |||
4994 | else | ||
4995 | ac_cv_header_stdc=no | ||
4996 | fi | ||
4997 | rm -f conftest* | ||
4998 | |||
4999 | fi | ||
5000 | |||
5001 | if test $ac_cv_header_stdc = yes; then | ||
5002 | # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. | ||
5003 | if test "$cross_compiling" = yes; then : | ||
5004 | : | ||
5005 | else | ||
5006 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5007 | /* end confdefs.h. */ | ||
5008 | #include <ctype.h> | ||
5009 | #include <stdlib.h> | ||
5010 | #if ((' ' & 0x0FF) == 0x020) | ||
5011 | # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') | ||
5012 | # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) | ||
5013 | #else | ||
5014 | # define ISLOWER(c) \ | ||
5015 | (('a' <= (c) && (c) <= 'i') \ | ||
5016 | || ('j' <= (c) && (c) <= 'r') \ | ||
5017 | || ('s' <= (c) && (c) <= 'z')) | ||
5018 | # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) | ||
5019 | #endif | ||
5020 | |||
5021 | #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) | ||
5022 | int | ||
5023 | main () | ||
5024 | { | ||
5025 | int i; | ||
5026 | for (i = 0; i < 256; i++) | ||
5027 | if (XOR (islower (i), ISLOWER (i)) | ||
5028 | || toupper (i) != TOUPPER (i)) | ||
5029 | return 2; | ||
5030 | return 0; | ||
5031 | } | ||
5032 | _ACEOF | ||
5033 | if ac_fn_c_try_run "$LINENO"; then : | ||
5034 | |||
5035 | else | ||
5036 | ac_cv_header_stdc=no | ||
5037 | fi | ||
5038 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ | ||
5039 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
5040 | fi | ||
5041 | |||
5042 | fi | ||
5043 | fi | ||
5044 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 | ||
5045 | $as_echo "$ac_cv_header_stdc" >&6; } | ||
5046 | if test $ac_cv_header_stdc = yes; then | ||
5047 | |||
5048 | $as_echo "#define STDC_HEADERS 1" >>confdefs.h | ||
5049 | |||
5050 | fi | ||
5051 | |||
5052 | # On IRIX 5.3, sys/types and inttypes.h are conflicting. | ||
5053 | for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ | ||
5054 | inttypes.h stdint.h unistd.h | ||
5055 | do : | ||
5056 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | ||
5057 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default | ||
5058 | " | ||
5059 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : | ||
5060 | cat >>confdefs.h <<_ACEOF | ||
5061 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | ||
5062 | _ACEOF | ||
5063 | |||
5064 | fi | ||
5065 | |||
5066 | done | ||
5067 | |||
5068 | |||
5069 | for ac_header in stddef.h stdlib.h locale.h | ||
5070 | do : | ||
5071 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | ||
5072 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" | ||
5073 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : | ||
5074 | cat >>confdefs.h <<_ACEOF | ||
5075 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | ||
5076 | _ACEOF | ||
5077 | |||
5078 | fi | ||
5079 | |||
5080 | done | ||
5081 | |||
5082 | ac_fn_c_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" | ||
5083 | if test "x$ac_cv_header_string_h" = xyes; then : | ||
5084 | |||
5085 | else | ||
5086 | |||
5087 | $as_echo "#define NEED_BSD_STRINGS 1" >>confdefs.h | ||
5088 | |||
5089 | fi | ||
5090 | |||
5091 | |||
5092 | |||
5093 | # See whether type size_t is defined in any ANSI-standard places; | ||
5094 | # if not, perhaps it is defined in <sys/types.h>. | ||
5095 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for size_t" >&5 | ||
5096 | $as_echo_n "checking for size_t... " >&6; } | ||
5097 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5098 | /* end confdefs.h. */ | ||
5099 | |||
5100 | #ifdef HAVE_STDDEF_H | ||
5101 | #include <stddef.h> | ||
5102 | #endif | ||
5103 | #ifdef HAVE_STDLIB_H | ||
5104 | #include <stdlib.h> | ||
5105 | #endif | ||
5106 | #include <stdio.h> | ||
5107 | #ifdef NEED_BSD_STRINGS | ||
5108 | #include <strings.h> | ||
5109 | #else | ||
5110 | #include <string.h> | ||
5111 | #endif | ||
5112 | typedef size_t my_size_t; | ||
5113 | |||
5114 | int | ||
5115 | main () | ||
5116 | { | ||
5117 | my_size_t foovar; | ||
5118 | ; | ||
5119 | return 0; | ||
5120 | } | ||
5121 | _ACEOF | ||
5122 | if ac_fn_c_try_compile "$LINENO"; then : | ||
5123 | ijg_size_t_ok=yes | ||
5124 | else | ||
5125 | ijg_size_t_ok="not ANSI, perhaps it is in sys/types.h" | ||
5126 | fi | ||
5127 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5128 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ijg_size_t_ok" >&5 | ||
5129 | $as_echo "$ijg_size_t_ok" >&6; } | ||
5130 | if test "$ijg_size_t_ok" != yes; then | ||
5131 | ac_fn_c_check_header_mongrel "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" | ||
5132 | if test "x$ac_cv_header_sys_types_h" = xyes; then : | ||
5133 | |||
5134 | $as_echo "#define NEED_SYS_TYPES_H 1" >>confdefs.h | ||
5135 | |||
5136 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5137 | /* end confdefs.h. */ | ||
5138 | #include <sys/types.h> | ||
5139 | _ACEOF | ||
5140 | if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | ||
5141 | $EGREP "size_t" >/dev/null 2>&1; then : | ||
5142 | ijg_size_t_ok="size_t is in sys/types.h" | ||
5143 | else | ||
5144 | ijg_size_t_ok=no | ||
5145 | fi | ||
5146 | rm -f conftest* | ||
5147 | |||
5148 | else | ||
5149 | ijg_size_t_ok=no | ||
5150 | fi | ||
5151 | |||
5152 | |||
5153 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ijg_size_t_ok" >&5 | ||
5154 | $as_echo "$ijg_size_t_ok" >&6; } | ||
5155 | if test "$ijg_size_t_ok" = no; then | ||
5156 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Type size_t is not defined in any of the usual places. | ||
5157 | Try putting '\"typedef unsigned int size_t;\"' in jconfig.h." >&5 | ||
5158 | $as_echo "$as_me: WARNING: Type size_t is not defined in any of the usual places. | ||
5159 | Try putting '\"typedef unsigned int size_t;\"' in jconfig.h." >&2;} | ||
5160 | fi | ||
5161 | fi | ||
5162 | |||
5163 | # Check compiler characteristics | ||
5164 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type unsigned char" >&5 | ||
5165 | $as_echo_n "checking for type unsigned char... " >&6; } | ||
5166 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5167 | /* end confdefs.h. */ | ||
5168 | |||
5169 | int | ||
5170 | main () | ||
5171 | { | ||
5172 | unsigned char un_char; | ||
5173 | ; | ||
5174 | return 0; | ||
5175 | } | ||
5176 | _ACEOF | ||
5177 | if ac_fn_c_try_compile "$LINENO"; then : | ||
5178 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
5179 | $as_echo "yes" >&6; } | ||
5180 | |||
5181 | $as_echo "#define HAVE_UNSIGNED_CHAR 1" >>confdefs.h | ||
5182 | |||
5183 | else | ||
5184 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5185 | $as_echo "no" >&6; } | ||
5186 | fi | ||
5187 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5188 | |||
5189 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type unsigned short" >&5 | ||
5190 | $as_echo_n "checking for type unsigned short... " >&6; } | ||
5191 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5192 | /* end confdefs.h. */ | ||
5193 | |||
5194 | int | ||
5195 | main () | ||
5196 | { | ||
5197 | unsigned short un_short; | ||
5198 | ; | ||
5199 | return 0; | ||
5200 | } | ||
5201 | _ACEOF | ||
5202 | if ac_fn_c_try_compile "$LINENO"; then : | ||
5203 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
5204 | $as_echo "yes" >&6; } | ||
5205 | |||
5206 | $as_echo "#define HAVE_UNSIGNED_SHORT 1" >>confdefs.h | ||
5207 | |||
5208 | else | ||
5209 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5210 | $as_echo "no" >&6; } | ||
5211 | fi | ||
5212 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5213 | |||
5214 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for type void" >&5 | ||
5215 | $as_echo_n "checking for type void... " >&6; } | ||
5216 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5217 | /* end confdefs.h. */ | ||
5218 | |||
5219 | /* Caution: a C++ compiler will insist on valid prototypes */ | ||
5220 | typedef void * void_ptr; /* check void * */ | ||
5221 | #ifdef HAVE_PROTOTYPES /* check ptr to function returning void */ | ||
5222 | typedef void (*void_func) (int a, int b); | ||
5223 | #else | ||
5224 | typedef void (*void_func) (); | ||
5225 | #endif | ||
5226 | |||
5227 | #ifdef HAVE_PROTOTYPES /* check void function result */ | ||
5228 | void test3function (void_ptr arg1, void_func arg2) | ||
5229 | #else | ||
5230 | void test3function (arg1, arg2) | ||
5231 | void_ptr arg1; | ||
5232 | void_func arg2; | ||
5233 | #endif | ||
5234 | { | ||
5235 | char * locptr = (char *) arg1; /* check casting to and from void * */ | ||
5236 | arg1 = (void *) locptr; | ||
5237 | (*arg2) (1, 2); /* check call of fcn returning void */ | ||
5238 | } | ||
5239 | |||
5240 | int | ||
5241 | main () | ||
5242 | { | ||
5243 | |||
5244 | ; | ||
5245 | return 0; | ||
5246 | } | ||
5247 | _ACEOF | ||
5248 | if ac_fn_c_try_compile "$LINENO"; then : | ||
5249 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
5250 | $as_echo "yes" >&6; } | ||
5251 | else | ||
5252 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5253 | $as_echo "no" >&6; } | ||
5254 | |||
5255 | $as_echo "#define void char" >>confdefs.h | ||
5256 | |||
5257 | fi | ||
5258 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5259 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 | ||
5260 | $as_echo_n "checking for an ANSI C-conforming const... " >&6; } | ||
5261 | if ${ac_cv_c_const+:} false; then : | ||
5262 | $as_echo_n "(cached) " >&6 | ||
5263 | else | ||
5264 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5265 | /* end confdefs.h. */ | ||
5266 | |||
5267 | int | ||
5268 | main () | ||
5269 | { | ||
5270 | |||
5271 | #ifndef __cplusplus | ||
5272 | /* Ultrix mips cc rejects this sort of thing. */ | ||
5273 | typedef int charset[2]; | ||
5274 | const charset cs = { 0, 0 }; | ||
5275 | /* SunOS 4.1.1 cc rejects this. */ | ||
5276 | char const *const *pcpcc; | ||
5277 | char **ppc; | ||
5278 | /* NEC SVR4.0.2 mips cc rejects this. */ | ||
5279 | struct point {int x, y;}; | ||
5280 | static struct point const zero = {0,0}; | ||
5281 | /* AIX XL C 1.02.0.0 rejects this. | ||
5282 | It does not let you subtract one const X* pointer from another in | ||
5283 | an arm of an if-expression whose if-part is not a constant | ||
5284 | expression */ | ||
5285 | const char *g = "string"; | ||
5286 | pcpcc = &g + (g ? g-g : 0); | ||
5287 | /* HPUX 7.0 cc rejects these. */ | ||
5288 | ++pcpcc; | ||
5289 | ppc = (char**) pcpcc; | ||
5290 | pcpcc = (char const *const *) ppc; | ||
5291 | { /* SCO 3.2v4 cc rejects this sort of thing. */ | ||
5292 | char tx; | ||
5293 | char *t = &tx; | ||
5294 | char const *s = 0 ? (char *) 0 : (char const *) 0; | ||
5295 | |||
5296 | *t++ = 0; | ||
5297 | if (s) return 0; | ||
5298 | } | ||
5299 | { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ | ||
5300 | int x[] = {25, 17}; | ||
5301 | const int *foo = &x[0]; | ||
5302 | ++foo; | ||
5303 | } | ||
5304 | { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ | ||
5305 | typedef const int *iptr; | ||
5306 | iptr p = 0; | ||
5307 | ++p; | ||
5308 | } | ||
5309 | { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying | ||
5310 | "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ | ||
5311 | struct s { int j; const int *ap[3]; } bx; | ||
5312 | struct s *b = &bx; b->j = 5; | ||
5313 | } | ||
5314 | { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ | ||
5315 | const int foo = 10; | ||
5316 | if (!foo) return 0; | ||
5317 | } | ||
5318 | return !cs[0] && !zero.x; | ||
5319 | #endif | ||
5320 | |||
5321 | ; | ||
5322 | return 0; | ||
5323 | } | ||
5324 | _ACEOF | ||
5325 | if ac_fn_c_try_compile "$LINENO"; then : | ||
5326 | ac_cv_c_const=yes | ||
5327 | else | ||
5328 | ac_cv_c_const=no | ||
5329 | fi | ||
5330 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5331 | fi | ||
5332 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 | ||
5333 | $as_echo "$ac_cv_c_const" >&6; } | ||
5334 | if test $ac_cv_c_const = no; then | ||
5335 | |||
5336 | $as_echo "#define const /**/" >>confdefs.h | ||
5337 | |||
5338 | fi | ||
5339 | |||
5340 | |||
5341 | # Check for non-broken inline under various spellings | ||
5342 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 | ||
5343 | $as_echo_n "checking for inline... " >&6; } | ||
5344 | ijg_cv_inline="" | ||
5345 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5346 | /* end confdefs.h. */ | ||
5347 | |||
5348 | int | ||
5349 | main () | ||
5350 | { | ||
5351 | } __inline__ int foo() { return 0; } | ||
5352 | int bar() { return foo(); | ||
5353 | ; | ||
5354 | return 0; | ||
5355 | } | ||
5356 | _ACEOF | ||
5357 | if ac_fn_c_try_compile "$LINENO"; then : | ||
5358 | ijg_cv_inline="__inline__" | ||
5359 | else | ||
5360 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5361 | /* end confdefs.h. */ | ||
5362 | |||
5363 | int | ||
5364 | main () | ||
5365 | { | ||
5366 | } __inline int foo() { return 0; } | ||
5367 | int bar() { return foo(); | ||
5368 | ; | ||
5369 | return 0; | ||
5370 | } | ||
5371 | _ACEOF | ||
5372 | if ac_fn_c_try_compile "$LINENO"; then : | ||
5373 | ijg_cv_inline="__inline" | ||
5374 | else | ||
5375 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5376 | /* end confdefs.h. */ | ||
5377 | |||
5378 | int | ||
5379 | main () | ||
5380 | { | ||
5381 | } inline int foo() { return 0; } | ||
5382 | int bar() { return foo(); | ||
5383 | ; | ||
5384 | return 0; | ||
5385 | } | ||
5386 | _ACEOF | ||
5387 | if ac_fn_c_try_compile "$LINENO"; then : | ||
5388 | ijg_cv_inline="inline" | ||
5389 | fi | ||
5390 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5391 | fi | ||
5392 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5393 | fi | ||
5394 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5395 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ijg_cv_inline" >&5 | ||
5396 | $as_echo "$ijg_cv_inline" >&6; } | ||
5397 | |||
5398 | cat >>confdefs.h <<_ACEOF | ||
5399 | #define INLINE $ijg_cv_inline | ||
5400 | _ACEOF | ||
5401 | |||
5402 | |||
5403 | # We cannot check for bogus warnings, but at least we can check for errors | ||
5404 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken incomplete types" >&5 | ||
5405 | $as_echo_n "checking for broken incomplete types... " >&6; } | ||
5406 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5407 | /* end confdefs.h. */ | ||
5408 | typedef struct undefined_structure * undef_struct_ptr; | ||
5409 | int | ||
5410 | main () | ||
5411 | { | ||
5412 | |||
5413 | ; | ||
5414 | return 0; | ||
5415 | } | ||
5416 | _ACEOF | ||
5417 | if ac_fn_c_try_compile "$LINENO"; then : | ||
5418 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 | ||
5419 | $as_echo "ok" >&6; } | ||
5420 | else | ||
5421 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: broken" >&5 | ||
5422 | $as_echo "broken" >&6; } | ||
5423 | |||
5424 | $as_echo "#define INCOMPLETE_TYPES_BROKEN 1" >>confdefs.h | ||
5425 | |||
5426 | fi | ||
5427 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
5428 | |||
5429 | # Test whether global names are unique to at least 15 chars | ||
5430 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for short external names" >&5 | ||
5431 | $as_echo_n "checking for short external names... " >&6; } | ||
5432 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5433 | /* end confdefs.h. */ | ||
5434 | |||
5435 | int possibly_duplicate_function () { return 0; } | ||
5436 | int possibly_dupli_function () { return 1; } | ||
5437 | |||
5438 | int | ||
5439 | main () | ||
5440 | { | ||
5441 | |||
5442 | ; | ||
5443 | return 0; | ||
5444 | } | ||
5445 | _ACEOF | ||
5446 | if ac_fn_c_try_link "$LINENO"; then : | ||
5447 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 | ||
5448 | $as_echo "ok" >&6; } | ||
5449 | else | ||
5450 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: short" >&5 | ||
5451 | $as_echo "short" >&6; } | ||
5452 | |||
5453 | $as_echo "#define NEED_SHORT_EXTERNAL_NAMES 1" >>confdefs.h | ||
5454 | |||
5455 | fi | ||
5456 | rm -f core conftest.err conftest.$ac_objext \ | ||
5457 | conftest$ac_exeext conftest.$ac_ext | ||
5458 | |||
5459 | # Run-time checks | ||
5460 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if char is signed" >&5 | ||
5461 | $as_echo_n "checking to see if char is signed... " >&6; } | ||
5462 | if test "$cross_compiling" = yes; then : | ||
5463 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Assuming that char is signed on target machine. | ||
5464 | If it is unsigned, this will be a little bit inefficient." >&5 | ||
5465 | $as_echo "$as_me: WARNING: Assuming that char is signed on target machine. | ||
5466 | If it is unsigned, this will be a little bit inefficient." >&2;} | ||
5467 | |||
5468 | else | ||
5469 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5470 | /* end confdefs.h. */ | ||
5471 | |||
5472 | #ifdef HAVE_STDLIB_H | ||
5473 | #include <stdlib.h> | ||
5474 | #endif | ||
5475 | #include <stdio.h> | ||
5476 | #ifdef HAVE_PROTOTYPES | ||
5477 | int is_char_signed (int arg) | ||
5478 | #else | ||
5479 | int is_char_signed (arg) | ||
5480 | int arg; | ||
5481 | #endif | ||
5482 | { | ||
5483 | if (arg == 189) { /* expected result for unsigned char */ | ||
5484 | return 0; /* type char is unsigned */ | ||
5485 | } | ||
5486 | else if (arg != -67) { /* expected result for signed char */ | ||
5487 | printf("Hmm, it seems 'char' is not eight bits wide on your machine.\n"); | ||
5488 | printf("I fear the JPEG software will not work at all.\n\n"); | ||
5489 | } | ||
5490 | return 1; /* assume char is signed otherwise */ | ||
5491 | } | ||
5492 | char signed_char_check = (char) (-67); | ||
5493 | int main() { | ||
5494 | exit(is_char_signed((int) signed_char_check)); | ||
5495 | } | ||
5496 | _ACEOF | ||
5497 | if ac_fn_c_try_run "$LINENO"; then : | ||
5498 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5499 | $as_echo "no" >&6; } | ||
5500 | |||
5501 | $as_echo "#define CHAR_IS_UNSIGNED 1" >>confdefs.h | ||
5502 | |||
5503 | else | ||
5504 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
5505 | $as_echo "yes" >&6; } | ||
5506 | fi | ||
5507 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ | ||
5508 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
5509 | fi | ||
5510 | |||
5511 | |||
5512 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if right shift is signed" >&5 | ||
5513 | $as_echo_n "checking to see if right shift is signed... " >&6; } | ||
5514 | if test "$cross_compiling" = yes; then : | ||
5515 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: Assuming that right shift is signed on target machine." >&5 | ||
5516 | $as_echo "Assuming that right shift is signed on target machine." >&6; } | ||
5517 | else | ||
5518 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5519 | /* end confdefs.h. */ | ||
5520 | |||
5521 | #ifdef HAVE_STDLIB_H | ||
5522 | #include <stdlib.h> | ||
5523 | #endif | ||
5524 | #include <stdio.h> | ||
5525 | #ifdef HAVE_PROTOTYPES | ||
5526 | int is_shifting_signed (long arg) | ||
5527 | #else | ||
5528 | int is_shifting_signed (arg) | ||
5529 | long arg; | ||
5530 | #endif | ||
5531 | /* See whether right-shift on a long is signed or not. */ | ||
5532 | { | ||
5533 | long res = arg >> 4; | ||
5534 | |||
5535 | if (res == -0x7F7E80CL) { /* expected result for signed shift */ | ||
5536 | return 1; /* right shift is signed */ | ||
5537 | } | ||
5538 | /* see if unsigned-shift hack will fix it. */ | ||
5539 | /* we can't just test exact value since it depends on width of long... */ | ||
5540 | res |= (~0L) << (32-4); | ||
5541 | if (res == -0x7F7E80CL) { /* expected result now? */ | ||
5542 | return 0; /* right shift is unsigned */ | ||
5543 | } | ||
5544 | printf("Right shift isn't acting as I expect it to.\n"); | ||
5545 | printf("I fear the JPEG software will not work at all.\n\n"); | ||
5546 | return 0; /* try it with unsigned anyway */ | ||
5547 | } | ||
5548 | int main() { | ||
5549 | exit(is_shifting_signed(-0x7F7E80B1L)); | ||
5550 | } | ||
5551 | _ACEOF | ||
5552 | if ac_fn_c_try_run "$LINENO"; then : | ||
5553 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5554 | $as_echo "no" >&6; } | ||
5555 | |||
5556 | $as_echo "#define RIGHT_SHIFT_IS_UNSIGNED 1" >>confdefs.h | ||
5557 | |||
5558 | else | ||
5559 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
5560 | $as_echo "yes" >&6; } | ||
5561 | fi | ||
5562 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ | ||
5563 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
5564 | fi | ||
5565 | |||
5566 | |||
5567 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking to see if fopen accepts b spec" >&5 | ||
5568 | $as_echo_n "checking to see if fopen accepts b spec... " >&6; } | ||
5569 | if test "$cross_compiling" = yes; then : | ||
5570 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: Assuming that it does." >&5 | ||
5571 | $as_echo "Assuming that it does." >&6; } | ||
5572 | else | ||
5573 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
5574 | /* end confdefs.h. */ | ||
5575 | |||
5576 | #ifdef HAVE_STDLIB_H | ||
5577 | #include <stdlib.h> | ||
5578 | #endif | ||
5579 | #include <stdio.h> | ||
5580 | int main() { | ||
5581 | if (fopen("conftestdata", "wb") != NULL) | ||
5582 | exit(0); | ||
5583 | exit(1); | ||
5584 | } | ||
5585 | _ACEOF | ||
5586 | if ac_fn_c_try_run "$LINENO"; then : | ||
5587 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
5588 | $as_echo "yes" >&6; } | ||
5589 | else | ||
5590 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5591 | $as_echo "no" >&6; } | ||
5592 | |||
5593 | $as_echo "#define DONT_USE_B_MODE 1" >>confdefs.h | ||
5594 | |||
5595 | fi | ||
5596 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ | ||
5597 | conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
5598 | fi | ||
5599 | |||
5600 | |||
5601 | # Configure libtool | ||
5602 | enable_win32_dll=yes | ||
5603 | |||
5604 | case $host in | ||
5605 | *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) | ||
5606 | if test -n "$ac_tool_prefix"; then | ||
5607 | # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. | ||
5608 | set dummy ${ac_tool_prefix}as; ac_word=$2 | ||
5609 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
5610 | $as_echo_n "checking for $ac_word... " >&6; } | ||
5611 | if ${ac_cv_prog_AS+:} false; then : | ||
5612 | $as_echo_n "(cached) " >&6 | ||
5613 | else | ||
5614 | if test -n "$AS"; then | ||
5615 | ac_cv_prog_AS="$AS" # Let the user override the test. | ||
5616 | else | ||
5617 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
5618 | for as_dir in $PATH | ||
5619 | do | ||
5620 | IFS=$as_save_IFS | ||
5621 | test -z "$as_dir" && as_dir=. | ||
5622 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
5623 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
5624 | ac_cv_prog_AS="${ac_tool_prefix}as" | ||
5625 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
5626 | break 2 | ||
5627 | fi | ||
5628 | done | ||
5629 | done | ||
5630 | IFS=$as_save_IFS | ||
5631 | |||
5632 | fi | ||
5633 | fi | ||
5634 | AS=$ac_cv_prog_AS | ||
5635 | if test -n "$AS"; then | ||
5636 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 | ||
5637 | $as_echo "$AS" >&6; } | ||
5638 | else | ||
5639 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5640 | $as_echo "no" >&6; } | ||
5641 | fi | ||
5642 | |||
5643 | |||
5644 | fi | ||
5645 | if test -z "$ac_cv_prog_AS"; then | ||
5646 | ac_ct_AS=$AS | ||
5647 | # Extract the first word of "as", so it can be a program name with args. | ||
5648 | set dummy as; ac_word=$2 | ||
5649 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
5650 | $as_echo_n "checking for $ac_word... " >&6; } | ||
5651 | if ${ac_cv_prog_ac_ct_AS+:} false; then : | ||
5652 | $as_echo_n "(cached) " >&6 | ||
5653 | else | ||
5654 | if test -n "$ac_ct_AS"; then | ||
5655 | ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. | ||
5656 | else | ||
5657 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
5658 | for as_dir in $PATH | ||
5659 | do | ||
5660 | IFS=$as_save_IFS | ||
5661 | test -z "$as_dir" && as_dir=. | ||
5662 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
5663 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
5664 | ac_cv_prog_ac_ct_AS="as" | ||
5665 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
5666 | break 2 | ||
5667 | fi | ||
5668 | done | ||
5669 | done | ||
5670 | IFS=$as_save_IFS | ||
5671 | |||
5672 | fi | ||
5673 | fi | ||
5674 | ac_ct_AS=$ac_cv_prog_ac_ct_AS | ||
5675 | if test -n "$ac_ct_AS"; then | ||
5676 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 | ||
5677 | $as_echo "$ac_ct_AS" >&6; } | ||
5678 | else | ||
5679 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5680 | $as_echo "no" >&6; } | ||
5681 | fi | ||
5682 | |||
5683 | if test "x$ac_ct_AS" = x; then | ||
5684 | AS="false" | ||
5685 | else | ||
5686 | case $cross_compiling:$ac_tool_warned in | ||
5687 | yes:) | ||
5688 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
5689 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
5690 | ac_tool_warned=yes ;; | ||
5691 | esac | ||
5692 | AS=$ac_ct_AS | ||
5693 | fi | ||
5694 | else | ||
5695 | AS="$ac_cv_prog_AS" | ||
5696 | fi | ||
5697 | |||
5698 | if test -n "$ac_tool_prefix"; then | ||
5699 | # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. | ||
5700 | set dummy ${ac_tool_prefix}dlltool; ac_word=$2 | ||
5701 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
5702 | $as_echo_n "checking for $ac_word... " >&6; } | ||
5703 | if ${ac_cv_prog_DLLTOOL+:} false; then : | ||
5704 | $as_echo_n "(cached) " >&6 | ||
5705 | else | ||
5706 | if test -n "$DLLTOOL"; then | ||
5707 | ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. | ||
5708 | else | ||
5709 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
5710 | for as_dir in $PATH | ||
5711 | do | ||
5712 | IFS=$as_save_IFS | ||
5713 | test -z "$as_dir" && as_dir=. | ||
5714 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
5715 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
5716 | ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" | ||
5717 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
5718 | break 2 | ||
5719 | fi | ||
5720 | done | ||
5721 | done | ||
5722 | IFS=$as_save_IFS | ||
5723 | |||
5724 | fi | ||
5725 | fi | ||
5726 | DLLTOOL=$ac_cv_prog_DLLTOOL | ||
5727 | if test -n "$DLLTOOL"; then | ||
5728 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 | ||
5729 | $as_echo "$DLLTOOL" >&6; } | ||
5730 | else | ||
5731 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5732 | $as_echo "no" >&6; } | ||
5733 | fi | ||
5734 | |||
5735 | |||
5736 | fi | ||
5737 | if test -z "$ac_cv_prog_DLLTOOL"; then | ||
5738 | ac_ct_DLLTOOL=$DLLTOOL | ||
5739 | # Extract the first word of "dlltool", so it can be a program name with args. | ||
5740 | set dummy dlltool; ac_word=$2 | ||
5741 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
5742 | $as_echo_n "checking for $ac_word... " >&6; } | ||
5743 | if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : | ||
5744 | $as_echo_n "(cached) " >&6 | ||
5745 | else | ||
5746 | if test -n "$ac_ct_DLLTOOL"; then | ||
5747 | ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. | ||
5748 | else | ||
5749 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
5750 | for as_dir in $PATH | ||
5751 | do | ||
5752 | IFS=$as_save_IFS | ||
5753 | test -z "$as_dir" && as_dir=. | ||
5754 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
5755 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
5756 | ac_cv_prog_ac_ct_DLLTOOL="dlltool" | ||
5757 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
5758 | break 2 | ||
5759 | fi | ||
5760 | done | ||
5761 | done | ||
5762 | IFS=$as_save_IFS | ||
5763 | |||
5764 | fi | ||
5765 | fi | ||
5766 | ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL | ||
5767 | if test -n "$ac_ct_DLLTOOL"; then | ||
5768 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 | ||
5769 | $as_echo "$ac_ct_DLLTOOL" >&6; } | ||
5770 | else | ||
5771 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5772 | $as_echo "no" >&6; } | ||
5773 | fi | ||
5774 | |||
5775 | if test "x$ac_ct_DLLTOOL" = x; then | ||
5776 | DLLTOOL="false" | ||
5777 | else | ||
5778 | case $cross_compiling:$ac_tool_warned in | ||
5779 | yes:) | ||
5780 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
5781 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
5782 | ac_tool_warned=yes ;; | ||
5783 | esac | ||
5784 | DLLTOOL=$ac_ct_DLLTOOL | ||
5785 | fi | ||
5786 | else | ||
5787 | DLLTOOL="$ac_cv_prog_DLLTOOL" | ||
5788 | fi | ||
5789 | |||
5790 | if test -n "$ac_tool_prefix"; then | ||
5791 | # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. | ||
5792 | set dummy ${ac_tool_prefix}objdump; ac_word=$2 | ||
5793 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
5794 | $as_echo_n "checking for $ac_word... " >&6; } | ||
5795 | if ${ac_cv_prog_OBJDUMP+:} false; then : | ||
5796 | $as_echo_n "(cached) " >&6 | ||
5797 | else | ||
5798 | if test -n "$OBJDUMP"; then | ||
5799 | ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. | ||
5800 | else | ||
5801 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
5802 | for as_dir in $PATH | ||
5803 | do | ||
5804 | IFS=$as_save_IFS | ||
5805 | test -z "$as_dir" && as_dir=. | ||
5806 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
5807 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
5808 | ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" | ||
5809 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
5810 | break 2 | ||
5811 | fi | ||
5812 | done | ||
5813 | done | ||
5814 | IFS=$as_save_IFS | ||
5815 | |||
5816 | fi | ||
5817 | fi | ||
5818 | OBJDUMP=$ac_cv_prog_OBJDUMP | ||
5819 | if test -n "$OBJDUMP"; then | ||
5820 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 | ||
5821 | $as_echo "$OBJDUMP" >&6; } | ||
5822 | else | ||
5823 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5824 | $as_echo "no" >&6; } | ||
5825 | fi | ||
5826 | |||
5827 | |||
5828 | fi | ||
5829 | if test -z "$ac_cv_prog_OBJDUMP"; then | ||
5830 | ac_ct_OBJDUMP=$OBJDUMP | ||
5831 | # Extract the first word of "objdump", so it can be a program name with args. | ||
5832 | set dummy objdump; ac_word=$2 | ||
5833 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
5834 | $as_echo_n "checking for $ac_word... " >&6; } | ||
5835 | if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : | ||
5836 | $as_echo_n "(cached) " >&6 | ||
5837 | else | ||
5838 | if test -n "$ac_ct_OBJDUMP"; then | ||
5839 | ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. | ||
5840 | else | ||
5841 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
5842 | for as_dir in $PATH | ||
5843 | do | ||
5844 | IFS=$as_save_IFS | ||
5845 | test -z "$as_dir" && as_dir=. | ||
5846 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
5847 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
5848 | ac_cv_prog_ac_ct_OBJDUMP="objdump" | ||
5849 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
5850 | break 2 | ||
5851 | fi | ||
5852 | done | ||
5853 | done | ||
5854 | IFS=$as_save_IFS | ||
5855 | |||
5856 | fi | ||
5857 | fi | ||
5858 | ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP | ||
5859 | if test -n "$ac_ct_OBJDUMP"; then | ||
5860 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 | ||
5861 | $as_echo "$ac_ct_OBJDUMP" >&6; } | ||
5862 | else | ||
5863 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
5864 | $as_echo "no" >&6; } | ||
5865 | fi | ||
5866 | |||
5867 | if test "x$ac_ct_OBJDUMP" = x; then | ||
5868 | OBJDUMP="false" | ||
5869 | else | ||
5870 | case $cross_compiling:$ac_tool_warned in | ||
5871 | yes:) | ||
5872 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
5873 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
5874 | ac_tool_warned=yes ;; | ||
5875 | esac | ||
5876 | OBJDUMP=$ac_ct_OBJDUMP | ||
5877 | fi | ||
5878 | else | ||
5879 | OBJDUMP="$ac_cv_prog_OBJDUMP" | ||
5880 | fi | ||
5881 | |||
5882 | ;; | ||
5883 | esac | ||
5884 | |||
5885 | test -z "$AS" && AS=as | ||
5886 | |||
5887 | |||
5888 | |||
5889 | |||
5890 | |||
5891 | test -z "$DLLTOOL" && DLLTOOL=dlltool | ||
5892 | |||
5893 | |||
5894 | |||
5895 | |||
5896 | |||
5897 | test -z "$OBJDUMP" && OBJDUMP=objdump | ||
5898 | |||
5899 | |||
5900 | |||
5901 | |||
5902 | |||
5903 | |||
5904 | |||
5905 | case `pwd` in | ||
5906 | *\ * | *\ *) | ||
5907 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 | ||
5908 | $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; | ||
5909 | esac | ||
5910 | |||
5911 | |||
5912 | |||
5913 | macro_version='2.4.2' | ||
5914 | macro_revision='1.3337' | ||
5915 | |||
5916 | |||
5917 | |||
5918 | |||
5919 | |||
5920 | |||
5921 | |||
5922 | |||
5923 | |||
5924 | |||
5925 | |||
5926 | |||
5927 | |||
5928 | ltmain="$ac_aux_dir/ltmain.sh" | ||
5929 | |||
5930 | # Backslashify metacharacters that are still active within | ||
5931 | # double-quoted strings. | ||
5932 | sed_quote_subst='s/\(["`$\\]\)/\\\1/g' | ||
5933 | |||
5934 | # Same as above, but do not quote variable references. | ||
5935 | double_quote_subst='s/\(["`\\]\)/\\\1/g' | ||
5936 | |||
5937 | # Sed substitution to delay expansion of an escaped shell variable in a | ||
5938 | # double_quote_subst'ed string. | ||
5939 | delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' | ||
5940 | |||
5941 | # Sed substitution to delay expansion of an escaped single quote. | ||
5942 | delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' | ||
5943 | |||
5944 | # Sed substitution to avoid accidental globbing in evaled expressions | ||
5945 | no_glob_subst='s/\*/\\\*/g' | ||
5946 | |||
5947 | ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' | ||
5948 | ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO | ||
5949 | ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO | ||
5950 | |||
5951 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 | ||
5952 | $as_echo_n "checking how to print strings... " >&6; } | ||
5953 | # Test print first, because it will be a builtin if present. | ||
5954 | if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ | ||
5955 | test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then | ||
5956 | ECHO='print -r --' | ||
5957 | elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then | ||
5958 | ECHO='printf %s\n' | ||
5959 | else | ||
5960 | # Use this function as a fallback that always works. | ||
5961 | func_fallback_echo () | ||
5962 | { | ||
5963 | eval 'cat <<_LTECHO_EOF | ||
5964 | $1 | ||
5965 | _LTECHO_EOF' | ||
5966 | } | ||
5967 | ECHO='func_fallback_echo' | ||
5968 | fi | ||
5969 | |||
5970 | # func_echo_all arg... | ||
5971 | # Invoke $ECHO with all args, space-separated. | ||
5972 | func_echo_all () | ||
5973 | { | ||
5974 | $ECHO "" | ||
5975 | } | ||
5976 | |||
5977 | case "$ECHO" in | ||
5978 | printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 | ||
5979 | $as_echo "printf" >&6; } ;; | ||
5980 | print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 | ||
5981 | $as_echo "print -r" >&6; } ;; | ||
5982 | *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 | ||
5983 | $as_echo "cat" >&6; } ;; | ||
5984 | esac | ||
5985 | |||
5986 | |||
5987 | |||
5988 | |||
5989 | |||
5990 | |||
5991 | |||
5992 | |||
5993 | |||
5994 | |||
5995 | |||
5996 | |||
5997 | |||
5998 | |||
5999 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 | ||
6000 | $as_echo_n "checking for a sed that does not truncate output... " >&6; } | ||
6001 | if ${ac_cv_path_SED+:} false; then : | ||
6002 | $as_echo_n "(cached) " >&6 | ||
6003 | else | ||
6004 | ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ | ||
6005 | for ac_i in 1 2 3 4 5 6 7; do | ||
6006 | ac_script="$ac_script$as_nl$ac_script" | ||
6007 | done | ||
6008 | echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed | ||
6009 | { ac_script=; unset ac_script;} | ||
6010 | if test -z "$SED"; then | ||
6011 | ac_path_SED_found=false | ||
6012 | # Loop through the user's path and test for each of PROGNAME-LIST | ||
6013 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
6014 | for as_dir in $PATH | ||
6015 | do | ||
6016 | IFS=$as_save_IFS | ||
6017 | test -z "$as_dir" && as_dir=. | ||
6018 | for ac_prog in sed gsed; do | ||
6019 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
6020 | ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" | ||
6021 | as_fn_executable_p "$ac_path_SED" || continue | ||
6022 | # Check for GNU ac_path_SED and select it if it is found. | ||
6023 | # Check for GNU $ac_path_SED | ||
6024 | case `"$ac_path_SED" --version 2>&1` in | ||
6025 | *GNU*) | ||
6026 | ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; | ||
6027 | *) | ||
6028 | ac_count=0 | ||
6029 | $as_echo_n 0123456789 >"conftest.in" | ||
6030 | while : | ||
6031 | do | ||
6032 | cat "conftest.in" "conftest.in" >"conftest.tmp" | ||
6033 | mv "conftest.tmp" "conftest.in" | ||
6034 | cp "conftest.in" "conftest.nl" | ||
6035 | $as_echo '' >> "conftest.nl" | ||
6036 | "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break | ||
6037 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break | ||
6038 | as_fn_arith $ac_count + 1 && ac_count=$as_val | ||
6039 | if test $ac_count -gt ${ac_path_SED_max-0}; then | ||
6040 | # Best one so far, save it but keep looking for a better one | ||
6041 | ac_cv_path_SED="$ac_path_SED" | ||
6042 | ac_path_SED_max=$ac_count | ||
6043 | fi | ||
6044 | # 10*(2^10) chars as input seems more than enough | ||
6045 | test $ac_count -gt 10 && break | ||
6046 | done | ||
6047 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; | ||
6048 | esac | ||
6049 | |||
6050 | $ac_path_SED_found && break 3 | ||
6051 | done | ||
6052 | done | ||
6053 | done | ||
6054 | IFS=$as_save_IFS | ||
6055 | if test -z "$ac_cv_path_SED"; then | ||
6056 | as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 | ||
6057 | fi | ||
6058 | else | ||
6059 | ac_cv_path_SED=$SED | ||
6060 | fi | ||
6061 | |||
6062 | fi | ||
6063 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 | ||
6064 | $as_echo "$ac_cv_path_SED" >&6; } | ||
6065 | SED="$ac_cv_path_SED" | ||
6066 | rm -f conftest.sed | ||
6067 | |||
6068 | test -z "$SED" && SED=sed | ||
6069 | Xsed="$SED -e 1s/^X//" | ||
6070 | |||
6071 | |||
6072 | |||
6073 | |||
6074 | |||
6075 | |||
6076 | |||
6077 | |||
6078 | |||
6079 | |||
6080 | |||
6081 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 | ||
6082 | $as_echo_n "checking for fgrep... " >&6; } | ||
6083 | if ${ac_cv_path_FGREP+:} false; then : | ||
6084 | $as_echo_n "(cached) " >&6 | ||
6085 | else | ||
6086 | if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 | ||
6087 | then ac_cv_path_FGREP="$GREP -F" | ||
6088 | else | ||
6089 | if test -z "$FGREP"; then | ||
6090 | ac_path_FGREP_found=false | ||
6091 | # Loop through the user's path and test for each of PROGNAME-LIST | ||
6092 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
6093 | for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin | ||
6094 | do | ||
6095 | IFS=$as_save_IFS | ||
6096 | test -z "$as_dir" && as_dir=. | ||
6097 | for ac_prog in fgrep; do | ||
6098 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
6099 | ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" | ||
6100 | as_fn_executable_p "$ac_path_FGREP" || continue | ||
6101 | # Check for GNU ac_path_FGREP and select it if it is found. | ||
6102 | # Check for GNU $ac_path_FGREP | ||
6103 | case `"$ac_path_FGREP" --version 2>&1` in | ||
6104 | *GNU*) | ||
6105 | ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; | ||
6106 | *) | ||
6107 | ac_count=0 | ||
6108 | $as_echo_n 0123456789 >"conftest.in" | ||
6109 | while : | ||
6110 | do | ||
6111 | cat "conftest.in" "conftest.in" >"conftest.tmp" | ||
6112 | mv "conftest.tmp" "conftest.in" | ||
6113 | cp "conftest.in" "conftest.nl" | ||
6114 | $as_echo 'FGREP' >> "conftest.nl" | ||
6115 | "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break | ||
6116 | diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break | ||
6117 | as_fn_arith $ac_count + 1 && ac_count=$as_val | ||
6118 | if test $ac_count -gt ${ac_path_FGREP_max-0}; then | ||
6119 | # Best one so far, save it but keep looking for a better one | ||
6120 | ac_cv_path_FGREP="$ac_path_FGREP" | ||
6121 | ac_path_FGREP_max=$ac_count | ||
6122 | fi | ||
6123 | # 10*(2^10) chars as input seems more than enough | ||
6124 | test $ac_count -gt 10 && break | ||
6125 | done | ||
6126 | rm -f conftest.in conftest.tmp conftest.nl conftest.out;; | ||
6127 | esac | ||
6128 | |||
6129 | $ac_path_FGREP_found && break 3 | ||
6130 | done | ||
6131 | done | ||
6132 | done | ||
6133 | IFS=$as_save_IFS | ||
6134 | if test -z "$ac_cv_path_FGREP"; then | ||
6135 | as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | ||
6136 | fi | ||
6137 | else | ||
6138 | ac_cv_path_FGREP=$FGREP | ||
6139 | fi | ||
6140 | |||
6141 | fi | ||
6142 | fi | ||
6143 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 | ||
6144 | $as_echo "$ac_cv_path_FGREP" >&6; } | ||
6145 | FGREP="$ac_cv_path_FGREP" | ||
6146 | |||
6147 | |||
6148 | test -z "$GREP" && GREP=grep | ||
6149 | |||
6150 | |||
6151 | |||
6152 | |||
6153 | |||
6154 | |||
6155 | |||
6156 | |||
6157 | |||
6158 | |||
6159 | |||
6160 | |||
6161 | |||
6162 | |||
6163 | |||
6164 | |||
6165 | |||
6166 | |||
6167 | |||
6168 | # Check whether --with-gnu-ld was given. | ||
6169 | if test "${with_gnu_ld+set}" = set; then : | ||
6170 | withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes | ||
6171 | else | ||
6172 | with_gnu_ld=no | ||
6173 | fi | ||
6174 | |||
6175 | ac_prog=ld | ||
6176 | if test "$GCC" = yes; then | ||
6177 | # Check if gcc -print-prog-name=ld gives a path. | ||
6178 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 | ||
6179 | $as_echo_n "checking for ld used by $CC... " >&6; } | ||
6180 | case $host in | ||
6181 | *-*-mingw*) | ||
6182 | # gcc leaves a trailing carriage return which upsets mingw | ||
6183 | ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | ||
6184 | *) | ||
6185 | ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | ||
6186 | esac | ||
6187 | case $ac_prog in | ||
6188 | # Accept absolute paths. | ||
6189 | [\\/]* | ?:[\\/]*) | ||
6190 | re_direlt='/[^/][^/]*/\.\./' | ||
6191 | # Canonicalize the pathname of ld | ||
6192 | ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` | ||
6193 | while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do | ||
6194 | ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` | ||
6195 | done | ||
6196 | test -z "$LD" && LD="$ac_prog" | ||
6197 | ;; | ||
6198 | "") | ||
6199 | # If it fails, then pretend we aren't using GCC. | ||
6200 | ac_prog=ld | ||
6201 | ;; | ||
6202 | *) | ||
6203 | # If it is relative, then search for the first ld in PATH. | ||
6204 | with_gnu_ld=unknown | ||
6205 | ;; | ||
6206 | esac | ||
6207 | elif test "$with_gnu_ld" = yes; then | ||
6208 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 | ||
6209 | $as_echo_n "checking for GNU ld... " >&6; } | ||
6210 | else | ||
6211 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 | ||
6212 | $as_echo_n "checking for non-GNU ld... " >&6; } | ||
6213 | fi | ||
6214 | if ${lt_cv_path_LD+:} false; then : | ||
6215 | $as_echo_n "(cached) " >&6 | ||
6216 | else | ||
6217 | if test -z "$LD"; then | ||
6218 | lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
6219 | for ac_dir in $PATH; do | ||
6220 | IFS="$lt_save_ifs" | ||
6221 | test -z "$ac_dir" && ac_dir=. | ||
6222 | if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | ||
6223 | lt_cv_path_LD="$ac_dir/$ac_prog" | ||
6224 | # Check to see if the program is GNU ld. I'd rather use --version, | ||
6225 | # but apparently some variants of GNU ld only accept -v. | ||
6226 | # Break only if it was the GNU/non-GNU ld that we prefer. | ||
6227 | case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in | ||
6228 | *GNU* | *'with BFD'*) | ||
6229 | test "$with_gnu_ld" != no && break | ||
6230 | ;; | ||
6231 | *) | ||
6232 | test "$with_gnu_ld" != yes && break | ||
6233 | ;; | ||
6234 | esac | ||
6235 | fi | ||
6236 | done | ||
6237 | IFS="$lt_save_ifs" | ||
6238 | else | ||
6239 | lt_cv_path_LD="$LD" # Let the user override the test with a path. | ||
6240 | fi | ||
6241 | fi | ||
6242 | |||
6243 | LD="$lt_cv_path_LD" | ||
6244 | if test -n "$LD"; then | ||
6245 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 | ||
6246 | $as_echo "$LD" >&6; } | ||
6247 | else | ||
6248 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
6249 | $as_echo "no" >&6; } | ||
6250 | fi | ||
6251 | test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 | ||
6252 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 | ||
6253 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } | ||
6254 | if ${lt_cv_prog_gnu_ld+:} false; then : | ||
6255 | $as_echo_n "(cached) " >&6 | ||
6256 | else | ||
6257 | # I'd rather use --version here, but apparently some GNU lds only accept -v. | ||
6258 | case `$LD -v 2>&1 </dev/null` in | ||
6259 | *GNU* | *'with BFD'*) | ||
6260 | lt_cv_prog_gnu_ld=yes | ||
6261 | ;; | ||
6262 | *) | ||
6263 | lt_cv_prog_gnu_ld=no | ||
6264 | ;; | ||
6265 | esac | ||
6266 | fi | ||
6267 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 | ||
6268 | $as_echo "$lt_cv_prog_gnu_ld" >&6; } | ||
6269 | with_gnu_ld=$lt_cv_prog_gnu_ld | ||
6270 | |||
6271 | |||
6272 | |||
6273 | |||
6274 | |||
6275 | |||
6276 | |||
6277 | |||
6278 | |||
6279 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 | ||
6280 | $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } | ||
6281 | if ${lt_cv_path_NM+:} false; then : | ||
6282 | $as_echo_n "(cached) " >&6 | ||
6283 | else | ||
6284 | if test -n "$NM"; then | ||
6285 | # Let the user override the test. | ||
6286 | lt_cv_path_NM="$NM" | ||
6287 | else | ||
6288 | lt_nm_to_check="${ac_tool_prefix}nm" | ||
6289 | if test -n "$ac_tool_prefix" && test "$build" = "$host"; then | ||
6290 | lt_nm_to_check="$lt_nm_to_check nm" | ||
6291 | fi | ||
6292 | for lt_tmp_nm in $lt_nm_to_check; do | ||
6293 | lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
6294 | for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do | ||
6295 | IFS="$lt_save_ifs" | ||
6296 | test -z "$ac_dir" && ac_dir=. | ||
6297 | tmp_nm="$ac_dir/$lt_tmp_nm" | ||
6298 | if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then | ||
6299 | # Check to see if the nm accepts a BSD-compat flag. | ||
6300 | # Adding the `sed 1q' prevents false positives on HP-UX, which says: | ||
6301 | # nm: unknown option "B" ignored | ||
6302 | # Tru64's nm complains that /dev/null is an invalid object file | ||
6303 | case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in | ||
6304 | */dev/null* | *'Invalid file or object type'*) | ||
6305 | lt_cv_path_NM="$tmp_nm -B" | ||
6306 | break | ||
6307 | ;; | ||
6308 | *) | ||
6309 | case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in | ||
6310 | */dev/null*) | ||
6311 | lt_cv_path_NM="$tmp_nm -p" | ||
6312 | break | ||
6313 | ;; | ||
6314 | *) | ||
6315 | lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but | ||
6316 | continue # so that we can try to find one that supports BSD flags | ||
6317 | ;; | ||
6318 | esac | ||
6319 | ;; | ||
6320 | esac | ||
6321 | fi | ||
6322 | done | ||
6323 | IFS="$lt_save_ifs" | ||
6324 | done | ||
6325 | : ${lt_cv_path_NM=no} | ||
6326 | fi | ||
6327 | fi | ||
6328 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 | ||
6329 | $as_echo "$lt_cv_path_NM" >&6; } | ||
6330 | if test "$lt_cv_path_NM" != "no"; then | ||
6331 | NM="$lt_cv_path_NM" | ||
6332 | else | ||
6333 | # Didn't find any BSD compatible name lister, look for dumpbin. | ||
6334 | if test -n "$DUMPBIN"; then : | ||
6335 | # Let the user override the test. | ||
6336 | else | ||
6337 | if test -n "$ac_tool_prefix"; then | ||
6338 | for ac_prog in dumpbin "link -dump" | ||
6339 | do | ||
6340 | # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. | ||
6341 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 | ||
6342 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
6343 | $as_echo_n "checking for $ac_word... " >&6; } | ||
6344 | if ${ac_cv_prog_DUMPBIN+:} false; then : | ||
6345 | $as_echo_n "(cached) " >&6 | ||
6346 | else | ||
6347 | if test -n "$DUMPBIN"; then | ||
6348 | ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. | ||
6349 | else | ||
6350 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
6351 | for as_dir in $PATH | ||
6352 | do | ||
6353 | IFS=$as_save_IFS | ||
6354 | test -z "$as_dir" && as_dir=. | ||
6355 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
6356 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
6357 | ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" | ||
6358 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
6359 | break 2 | ||
6360 | fi | ||
6361 | done | ||
6362 | done | ||
6363 | IFS=$as_save_IFS | ||
6364 | |||
6365 | fi | ||
6366 | fi | ||
6367 | DUMPBIN=$ac_cv_prog_DUMPBIN | ||
6368 | if test -n "$DUMPBIN"; then | ||
6369 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 | ||
6370 | $as_echo "$DUMPBIN" >&6; } | ||
6371 | else | ||
6372 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
6373 | $as_echo "no" >&6; } | ||
6374 | fi | ||
6375 | |||
6376 | |||
6377 | test -n "$DUMPBIN" && break | ||
6378 | done | ||
6379 | fi | ||
6380 | if test -z "$DUMPBIN"; then | ||
6381 | ac_ct_DUMPBIN=$DUMPBIN | ||
6382 | for ac_prog in dumpbin "link -dump" | ||
6383 | do | ||
6384 | # Extract the first word of "$ac_prog", so it can be a program name with args. | ||
6385 | set dummy $ac_prog; ac_word=$2 | ||
6386 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
6387 | $as_echo_n "checking for $ac_word... " >&6; } | ||
6388 | if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : | ||
6389 | $as_echo_n "(cached) " >&6 | ||
6390 | else | ||
6391 | if test -n "$ac_ct_DUMPBIN"; then | ||
6392 | ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. | ||
6393 | else | ||
6394 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
6395 | for as_dir in $PATH | ||
6396 | do | ||
6397 | IFS=$as_save_IFS | ||
6398 | test -z "$as_dir" && as_dir=. | ||
6399 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
6400 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
6401 | ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" | ||
6402 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
6403 | break 2 | ||
6404 | fi | ||
6405 | done | ||
6406 | done | ||
6407 | IFS=$as_save_IFS | ||
6408 | |||
6409 | fi | ||
6410 | fi | ||
6411 | ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN | ||
6412 | if test -n "$ac_ct_DUMPBIN"; then | ||
6413 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 | ||
6414 | $as_echo "$ac_ct_DUMPBIN" >&6; } | ||
6415 | else | ||
6416 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
6417 | $as_echo "no" >&6; } | ||
6418 | fi | ||
6419 | |||
6420 | |||
6421 | test -n "$ac_ct_DUMPBIN" && break | ||
6422 | done | ||
6423 | |||
6424 | if test "x$ac_ct_DUMPBIN" = x; then | ||
6425 | DUMPBIN=":" | ||
6426 | else | ||
6427 | case $cross_compiling:$ac_tool_warned in | ||
6428 | yes:) | ||
6429 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
6430 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
6431 | ac_tool_warned=yes ;; | ||
6432 | esac | ||
6433 | DUMPBIN=$ac_ct_DUMPBIN | ||
6434 | fi | ||
6435 | fi | ||
6436 | |||
6437 | case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in | ||
6438 | *COFF*) | ||
6439 | DUMPBIN="$DUMPBIN -symbols" | ||
6440 | ;; | ||
6441 | *) | ||
6442 | DUMPBIN=: | ||
6443 | ;; | ||
6444 | esac | ||
6445 | fi | ||
6446 | |||
6447 | if test "$DUMPBIN" != ":"; then | ||
6448 | NM="$DUMPBIN" | ||
6449 | fi | ||
6450 | fi | ||
6451 | test -z "$NM" && NM=nm | ||
6452 | |||
6453 | |||
6454 | |||
6455 | |||
6456 | |||
6457 | |||
6458 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 | ||
6459 | $as_echo_n "checking the name lister ($NM) interface... " >&6; } | ||
6460 | if ${lt_cv_nm_interface+:} false; then : | ||
6461 | $as_echo_n "(cached) " >&6 | ||
6462 | else | ||
6463 | lt_cv_nm_interface="BSD nm" | ||
6464 | echo "int some_variable = 0;" > conftest.$ac_ext | ||
6465 | (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) | ||
6466 | (eval "$ac_compile" 2>conftest.err) | ||
6467 | cat conftest.err >&5 | ||
6468 | (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) | ||
6469 | (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) | ||
6470 | cat conftest.err >&5 | ||
6471 | (eval echo "\"\$as_me:$LINENO: output\"" >&5) | ||
6472 | cat conftest.out >&5 | ||
6473 | if $GREP 'External.*some_variable' conftest.out > /dev/null; then | ||
6474 | lt_cv_nm_interface="MS dumpbin" | ||
6475 | fi | ||
6476 | rm -f conftest* | ||
6477 | fi | ||
6478 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 | ||
6479 | $as_echo "$lt_cv_nm_interface" >&6; } | ||
6480 | |||
6481 | # find the maximum length of command line arguments | ||
6482 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 | ||
6483 | $as_echo_n "checking the maximum length of command line arguments... " >&6; } | ||
6484 | if ${lt_cv_sys_max_cmd_len+:} false; then : | ||
6485 | $as_echo_n "(cached) " >&6 | ||
6486 | else | ||
6487 | i=0 | ||
6488 | teststring="ABCD" | ||
6489 | |||
6490 | case $build_os in | ||
6491 | msdosdjgpp*) | ||
6492 | # On DJGPP, this test can blow up pretty badly due to problems in libc | ||
6493 | # (any single argument exceeding 2000 bytes causes a buffer overrun | ||
6494 | # during glob expansion). Even if it were fixed, the result of this | ||
6495 | # check would be larger than it should be. | ||
6496 | lt_cv_sys_max_cmd_len=12288; # 12K is about right | ||
6497 | ;; | ||
6498 | |||
6499 | gnu*) | ||
6500 | # Under GNU Hurd, this test is not required because there is | ||
6501 | # no limit to the length of command line arguments. | ||
6502 | # Libtool will interpret -1 as no limit whatsoever | ||
6503 | lt_cv_sys_max_cmd_len=-1; | ||
6504 | ;; | ||
6505 | |||
6506 | cygwin* | mingw* | cegcc*) | ||
6507 | # On Win9x/ME, this test blows up -- it succeeds, but takes | ||
6508 | # about 5 minutes as the teststring grows exponentially. | ||
6509 | # Worse, since 9x/ME are not pre-emptively multitasking, | ||
6510 | # you end up with a "frozen" computer, even though with patience | ||
6511 | # the test eventually succeeds (with a max line length of 256k). | ||
6512 | # Instead, let's just punt: use the minimum linelength reported by | ||
6513 | # all of the supported platforms: 8192 (on NT/2K/XP). | ||
6514 | lt_cv_sys_max_cmd_len=8192; | ||
6515 | ;; | ||
6516 | |||
6517 | mint*) | ||
6518 | # On MiNT this can take a long time and run out of memory. | ||
6519 | lt_cv_sys_max_cmd_len=8192; | ||
6520 | ;; | ||
6521 | |||
6522 | amigaos*) | ||
6523 | # On AmigaOS with pdksh, this test takes hours, literally. | ||
6524 | # So we just punt and use a minimum line length of 8192. | ||
6525 | lt_cv_sys_max_cmd_len=8192; | ||
6526 | ;; | ||
6527 | |||
6528 | netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) | ||
6529 | # This has been around since 386BSD, at least. Likely further. | ||
6530 | if test -x /sbin/sysctl; then | ||
6531 | lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` | ||
6532 | elif test -x /usr/sbin/sysctl; then | ||
6533 | lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` | ||
6534 | else | ||
6535 | lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs | ||
6536 | fi | ||
6537 | # And add a safety zone | ||
6538 | lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` | ||
6539 | lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` | ||
6540 | ;; | ||
6541 | |||
6542 | interix*) | ||
6543 | # We know the value 262144 and hardcode it with a safety zone (like BSD) | ||
6544 | lt_cv_sys_max_cmd_len=196608 | ||
6545 | ;; | ||
6546 | |||
6547 | os2*) | ||
6548 | # The test takes a long time on OS/2. | ||
6549 | lt_cv_sys_max_cmd_len=8192 | ||
6550 | ;; | ||
6551 | |||
6552 | osf*) | ||
6553 | # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure | ||
6554 | # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not | ||
6555 | # nice to cause kernel panics so lets avoid the loop below. | ||
6556 | # First set a reasonable default. | ||
6557 | lt_cv_sys_max_cmd_len=16384 | ||
6558 | # | ||
6559 | if test -x /sbin/sysconfig; then | ||
6560 | case `/sbin/sysconfig -q proc exec_disable_arg_limit` in | ||
6561 | *1*) lt_cv_sys_max_cmd_len=-1 ;; | ||
6562 | esac | ||
6563 | fi | ||
6564 | ;; | ||
6565 | sco3.2v5*) | ||
6566 | lt_cv_sys_max_cmd_len=102400 | ||
6567 | ;; | ||
6568 | sysv5* | sco5v6* | sysv4.2uw2*) | ||
6569 | kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` | ||
6570 | if test -n "$kargmax"; then | ||
6571 | lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` | ||
6572 | else | ||
6573 | lt_cv_sys_max_cmd_len=32768 | ||
6574 | fi | ||
6575 | ;; | ||
6576 | *) | ||
6577 | lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` | ||
6578 | if test -n "$lt_cv_sys_max_cmd_len"; then | ||
6579 | lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` | ||
6580 | lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` | ||
6581 | else | ||
6582 | # Make teststring a little bigger before we do anything with it. | ||
6583 | # a 1K string should be a reasonable start. | ||
6584 | for i in 1 2 3 4 5 6 7 8 ; do | ||
6585 | teststring=$teststring$teststring | ||
6586 | done | ||
6587 | SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} | ||
6588 | # If test is not a shell built-in, we'll probably end up computing a | ||
6589 | # maximum length that is only half of the actual maximum length, but | ||
6590 | # we can't tell. | ||
6591 | while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ | ||
6592 | = "X$teststring$teststring"; } >/dev/null 2>&1 && | ||
6593 | test $i != 17 # 1/2 MB should be enough | ||
6594 | do | ||
6595 | i=`expr $i + 1` | ||
6596 | teststring=$teststring$teststring | ||
6597 | done | ||
6598 | # Only check the string length outside the loop. | ||
6599 | lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` | ||
6600 | teststring= | ||
6601 | # Add a significant safety factor because C++ compilers can tack on | ||
6602 | # massive amounts of additional arguments before passing them to the | ||
6603 | # linker. It appears as though 1/2 is a usable value. | ||
6604 | lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` | ||
6605 | fi | ||
6606 | ;; | ||
6607 | esac | ||
6608 | |||
6609 | fi | ||
6610 | |||
6611 | if test -n $lt_cv_sys_max_cmd_len ; then | ||
6612 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 | ||
6613 | $as_echo "$lt_cv_sys_max_cmd_len" >&6; } | ||
6614 | else | ||
6615 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 | ||
6616 | $as_echo "none" >&6; } | ||
6617 | fi | ||
6618 | max_cmd_len=$lt_cv_sys_max_cmd_len | ||
6619 | |||
6620 | |||
6621 | |||
6622 | |||
6623 | |||
6624 | |||
6625 | : ${CP="cp -f"} | ||
6626 | : ${MV="mv -f"} | ||
6627 | : ${RM="rm -f"} | ||
6628 | |||
6629 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 | ||
6630 | $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } | ||
6631 | # Try some XSI features | ||
6632 | xsi_shell=no | ||
6633 | ( _lt_dummy="a/b/c" | ||
6634 | test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ | ||
6635 | = c,a/b,b/c, \ | ||
6636 | && eval 'test $(( 1 + 1 )) -eq 2 \ | ||
6637 | && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ | ||
6638 | && xsi_shell=yes | ||
6639 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 | ||
6640 | $as_echo "$xsi_shell" >&6; } | ||
6641 | |||
6642 | |||
6643 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 | ||
6644 | $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } | ||
6645 | lt_shell_append=no | ||
6646 | ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ | ||
6647 | >/dev/null 2>&1 \ | ||
6648 | && lt_shell_append=yes | ||
6649 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 | ||
6650 | $as_echo "$lt_shell_append" >&6; } | ||
6651 | |||
6652 | |||
6653 | if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then | ||
6654 | lt_unset=unset | ||
6655 | else | ||
6656 | lt_unset=false | ||
6657 | fi | ||
6658 | |||
6659 | |||
6660 | |||
6661 | |||
6662 | |||
6663 | # test EBCDIC or ASCII | ||
6664 | case `echo X|tr X '\101'` in | ||
6665 | A) # ASCII based system | ||
6666 | # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr | ||
6667 | lt_SP2NL='tr \040 \012' | ||
6668 | lt_NL2SP='tr \015\012 \040\040' | ||
6669 | ;; | ||
6670 | *) # EBCDIC based system | ||
6671 | lt_SP2NL='tr \100 \n' | ||
6672 | lt_NL2SP='tr \r\n \100\100' | ||
6673 | ;; | ||
6674 | esac | ||
6675 | |||
6676 | |||
6677 | |||
6678 | |||
6679 | |||
6680 | |||
6681 | |||
6682 | |||
6683 | |||
6684 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 | ||
6685 | $as_echo_n "checking how to convert $build file names to $host format... " >&6; } | ||
6686 | if ${lt_cv_to_host_file_cmd+:} false; then : | ||
6687 | $as_echo_n "(cached) " >&6 | ||
6688 | else | ||
6689 | case $host in | ||
6690 | *-*-mingw* ) | ||
6691 | case $build in | ||
6692 | *-*-mingw* ) # actually msys | ||
6693 | lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 | ||
6694 | ;; | ||
6695 | *-*-cygwin* ) | ||
6696 | lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 | ||
6697 | ;; | ||
6698 | * ) # otherwise, assume *nix | ||
6699 | lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 | ||
6700 | ;; | ||
6701 | esac | ||
6702 | ;; | ||
6703 | *-*-cygwin* ) | ||
6704 | case $build in | ||
6705 | *-*-mingw* ) # actually msys | ||
6706 | lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin | ||
6707 | ;; | ||
6708 | *-*-cygwin* ) | ||
6709 | lt_cv_to_host_file_cmd=func_convert_file_noop | ||
6710 | ;; | ||
6711 | * ) # otherwise, assume *nix | ||
6712 | lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin | ||
6713 | ;; | ||
6714 | esac | ||
6715 | ;; | ||
6716 | * ) # unhandled hosts (and "normal" native builds) | ||
6717 | lt_cv_to_host_file_cmd=func_convert_file_noop | ||
6718 | ;; | ||
6719 | esac | ||
6720 | |||
6721 | fi | ||
6722 | |||
6723 | to_host_file_cmd=$lt_cv_to_host_file_cmd | ||
6724 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 | ||
6725 | $as_echo "$lt_cv_to_host_file_cmd" >&6; } | ||
6726 | |||
6727 | |||
6728 | |||
6729 | |||
6730 | |||
6731 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 | ||
6732 | $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } | ||
6733 | if ${lt_cv_to_tool_file_cmd+:} false; then : | ||
6734 | $as_echo_n "(cached) " >&6 | ||
6735 | else | ||
6736 | #assume ordinary cross tools, or native build. | ||
6737 | lt_cv_to_tool_file_cmd=func_convert_file_noop | ||
6738 | case $host in | ||
6739 | *-*-mingw* ) | ||
6740 | case $build in | ||
6741 | *-*-mingw* ) # actually msys | ||
6742 | lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 | ||
6743 | ;; | ||
6744 | esac | ||
6745 | ;; | ||
6746 | esac | ||
6747 | |||
6748 | fi | ||
6749 | |||
6750 | to_tool_file_cmd=$lt_cv_to_tool_file_cmd | ||
6751 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 | ||
6752 | $as_echo "$lt_cv_to_tool_file_cmd" >&6; } | ||
6753 | |||
6754 | |||
6755 | |||
6756 | |||
6757 | |||
6758 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 | ||
6759 | $as_echo_n "checking for $LD option to reload object files... " >&6; } | ||
6760 | if ${lt_cv_ld_reload_flag+:} false; then : | ||
6761 | $as_echo_n "(cached) " >&6 | ||
6762 | else | ||
6763 | lt_cv_ld_reload_flag='-r' | ||
6764 | fi | ||
6765 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 | ||
6766 | $as_echo "$lt_cv_ld_reload_flag" >&6; } | ||
6767 | reload_flag=$lt_cv_ld_reload_flag | ||
6768 | case $reload_flag in | ||
6769 | "" | " "*) ;; | ||
6770 | *) reload_flag=" $reload_flag" ;; | ||
6771 | esac | ||
6772 | reload_cmds='$LD$reload_flag -o $output$reload_objs' | ||
6773 | case $host_os in | ||
6774 | cygwin* | mingw* | pw32* | cegcc*) | ||
6775 | if test "$GCC" != yes; then | ||
6776 | reload_cmds=false | ||
6777 | fi | ||
6778 | ;; | ||
6779 | darwin*) | ||
6780 | if test "$GCC" = yes; then | ||
6781 | reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' | ||
6782 | else | ||
6783 | reload_cmds='$LD$reload_flag -o $output$reload_objs' | ||
6784 | fi | ||
6785 | ;; | ||
6786 | esac | ||
6787 | |||
6788 | |||
6789 | |||
6790 | |||
6791 | |||
6792 | |||
6793 | |||
6794 | |||
6795 | |||
6796 | if test -n "$ac_tool_prefix"; then | ||
6797 | # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. | ||
6798 | set dummy ${ac_tool_prefix}objdump; ac_word=$2 | ||
6799 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
6800 | $as_echo_n "checking for $ac_word... " >&6; } | ||
6801 | if ${ac_cv_prog_OBJDUMP+:} false; then : | ||
6802 | $as_echo_n "(cached) " >&6 | ||
6803 | else | ||
6804 | if test -n "$OBJDUMP"; then | ||
6805 | ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. | ||
6806 | else | ||
6807 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
6808 | for as_dir in $PATH | ||
6809 | do | ||
6810 | IFS=$as_save_IFS | ||
6811 | test -z "$as_dir" && as_dir=. | ||
6812 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
6813 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
6814 | ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" | ||
6815 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
6816 | break 2 | ||
6817 | fi | ||
6818 | done | ||
6819 | done | ||
6820 | IFS=$as_save_IFS | ||
6821 | |||
6822 | fi | ||
6823 | fi | ||
6824 | OBJDUMP=$ac_cv_prog_OBJDUMP | ||
6825 | if test -n "$OBJDUMP"; then | ||
6826 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 | ||
6827 | $as_echo "$OBJDUMP" >&6; } | ||
6828 | else | ||
6829 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
6830 | $as_echo "no" >&6; } | ||
6831 | fi | ||
6832 | |||
6833 | |||
6834 | fi | ||
6835 | if test -z "$ac_cv_prog_OBJDUMP"; then | ||
6836 | ac_ct_OBJDUMP=$OBJDUMP | ||
6837 | # Extract the first word of "objdump", so it can be a program name with args. | ||
6838 | set dummy objdump; ac_word=$2 | ||
6839 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
6840 | $as_echo_n "checking for $ac_word... " >&6; } | ||
6841 | if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : | ||
6842 | $as_echo_n "(cached) " >&6 | ||
6843 | else | ||
6844 | if test -n "$ac_ct_OBJDUMP"; then | ||
6845 | ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. | ||
6846 | else | ||
6847 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
6848 | for as_dir in $PATH | ||
6849 | do | ||
6850 | IFS=$as_save_IFS | ||
6851 | test -z "$as_dir" && as_dir=. | ||
6852 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
6853 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
6854 | ac_cv_prog_ac_ct_OBJDUMP="objdump" | ||
6855 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
6856 | break 2 | ||
6857 | fi | ||
6858 | done | ||
6859 | done | ||
6860 | IFS=$as_save_IFS | ||
6861 | |||
6862 | fi | ||
6863 | fi | ||
6864 | ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP | ||
6865 | if test -n "$ac_ct_OBJDUMP"; then | ||
6866 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 | ||
6867 | $as_echo "$ac_ct_OBJDUMP" >&6; } | ||
6868 | else | ||
6869 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
6870 | $as_echo "no" >&6; } | ||
6871 | fi | ||
6872 | |||
6873 | if test "x$ac_ct_OBJDUMP" = x; then | ||
6874 | OBJDUMP="false" | ||
6875 | else | ||
6876 | case $cross_compiling:$ac_tool_warned in | ||
6877 | yes:) | ||
6878 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
6879 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
6880 | ac_tool_warned=yes ;; | ||
6881 | esac | ||
6882 | OBJDUMP=$ac_ct_OBJDUMP | ||
6883 | fi | ||
6884 | else | ||
6885 | OBJDUMP="$ac_cv_prog_OBJDUMP" | ||
6886 | fi | ||
6887 | |||
6888 | test -z "$OBJDUMP" && OBJDUMP=objdump | ||
6889 | |||
6890 | |||
6891 | |||
6892 | |||
6893 | |||
6894 | |||
6895 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 | ||
6896 | $as_echo_n "checking how to recognize dependent libraries... " >&6; } | ||
6897 | if ${lt_cv_deplibs_check_method+:} false; then : | ||
6898 | $as_echo_n "(cached) " >&6 | ||
6899 | else | ||
6900 | lt_cv_file_magic_cmd='$MAGIC_CMD' | ||
6901 | lt_cv_file_magic_test_file= | ||
6902 | lt_cv_deplibs_check_method='unknown' | ||
6903 | # Need to set the preceding variable on all platforms that support | ||
6904 | # interlibrary dependencies. | ||
6905 | # 'none' -- dependencies not supported. | ||
6906 | # `unknown' -- same as none, but documents that we really don't know. | ||
6907 | # 'pass_all' -- all dependencies passed with no checks. | ||
6908 | # 'test_compile' -- check by making test program. | ||
6909 | # 'file_magic [[regex]]' -- check by looking for files in library path | ||
6910 | # which responds to the $file_magic_cmd with a given extended regex. | ||
6911 | # If you have `file' or equivalent on your system and you're not sure | ||
6912 | # whether `pass_all' will *always* work, you probably want this one. | ||
6913 | |||
6914 | case $host_os in | ||
6915 | aix[4-9]*) | ||
6916 | lt_cv_deplibs_check_method=pass_all | ||
6917 | ;; | ||
6918 | |||
6919 | beos*) | ||
6920 | lt_cv_deplibs_check_method=pass_all | ||
6921 | ;; | ||
6922 | |||
6923 | bsdi[45]*) | ||
6924 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' | ||
6925 | lt_cv_file_magic_cmd='/usr/bin/file -L' | ||
6926 | lt_cv_file_magic_test_file=/shlib/libc.so | ||
6927 | ;; | ||
6928 | |||
6929 | cygwin*) | ||
6930 | # func_win32_libid is a shell function defined in ltmain.sh | ||
6931 | lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' | ||
6932 | lt_cv_file_magic_cmd='func_win32_libid' | ||
6933 | ;; | ||
6934 | |||
6935 | mingw* | pw32*) | ||
6936 | # Base MSYS/MinGW do not provide the 'file' command needed by | ||
6937 | # func_win32_libid shell function, so use a weaker test based on 'objdump', | ||
6938 | # unless we find 'file', for example because we are cross-compiling. | ||
6939 | # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. | ||
6940 | if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then | ||
6941 | lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' | ||
6942 | lt_cv_file_magic_cmd='func_win32_libid' | ||
6943 | else | ||
6944 | # Keep this pattern in sync with the one in func_win32_libid. | ||
6945 | lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' | ||
6946 | lt_cv_file_magic_cmd='$OBJDUMP -f' | ||
6947 | fi | ||
6948 | ;; | ||
6949 | |||
6950 | cegcc*) | ||
6951 | # use the weaker test based on 'objdump'. See mingw*. | ||
6952 | lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' | ||
6953 | lt_cv_file_magic_cmd='$OBJDUMP -f' | ||
6954 | ;; | ||
6955 | |||
6956 | darwin* | rhapsody*) | ||
6957 | lt_cv_deplibs_check_method=pass_all | ||
6958 | ;; | ||
6959 | |||
6960 | freebsd* | dragonfly*) | ||
6961 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | ||
6962 | case $host_cpu in | ||
6963 | i*86 ) | ||
6964 | # Not sure whether the presence of OpenBSD here was a mistake. | ||
6965 | # Let's accept both of them until this is cleared up. | ||
6966 | lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' | ||
6967 | lt_cv_file_magic_cmd=/usr/bin/file | ||
6968 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | ||
6969 | ;; | ||
6970 | esac | ||
6971 | else | ||
6972 | lt_cv_deplibs_check_method=pass_all | ||
6973 | fi | ||
6974 | ;; | ||
6975 | |||
6976 | gnu*) | ||
6977 | lt_cv_deplibs_check_method=pass_all | ||
6978 | ;; | ||
6979 | |||
6980 | haiku*) | ||
6981 | lt_cv_deplibs_check_method=pass_all | ||
6982 | ;; | ||
6983 | |||
6984 | hpux10.20* | hpux11*) | ||
6985 | lt_cv_file_magic_cmd=/usr/bin/file | ||
6986 | case $host_cpu in | ||
6987 | ia64*) | ||
6988 | lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' | ||
6989 | lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so | ||
6990 | ;; | ||
6991 | hppa*64*) | ||
6992 | lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' | ||
6993 | lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl | ||
6994 | ;; | ||
6995 | *) | ||
6996 | lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' | ||
6997 | lt_cv_file_magic_test_file=/usr/lib/libc.sl | ||
6998 | ;; | ||
6999 | esac | ||
7000 | ;; | ||
7001 | |||
7002 | interix[3-9]*) | ||
7003 | # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here | ||
7004 | lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' | ||
7005 | ;; | ||
7006 | |||
7007 | irix5* | irix6* | nonstopux*) | ||
7008 | case $LD in | ||
7009 | *-32|*"-32 ") libmagic=32-bit;; | ||
7010 | *-n32|*"-n32 ") libmagic=N32;; | ||
7011 | *-64|*"-64 ") libmagic=64-bit;; | ||
7012 | *) libmagic=never-match;; | ||
7013 | esac | ||
7014 | lt_cv_deplibs_check_method=pass_all | ||
7015 | ;; | ||
7016 | |||
7017 | # This must be glibc/ELF. | ||
7018 | linux* | k*bsd*-gnu | kopensolaris*-gnu) | ||
7019 | lt_cv_deplibs_check_method=pass_all | ||
7020 | ;; | ||
7021 | |||
7022 | netbsd*) | ||
7023 | if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | ||
7024 | lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' | ||
7025 | else | ||
7026 | lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' | ||
7027 | fi | ||
7028 | ;; | ||
7029 | |||
7030 | newos6*) | ||
7031 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' | ||
7032 | lt_cv_file_magic_cmd=/usr/bin/file | ||
7033 | lt_cv_file_magic_test_file=/usr/lib/libnls.so | ||
7034 | ;; | ||
7035 | |||
7036 | *nto* | *qnx*) | ||
7037 | lt_cv_deplibs_check_method=pass_all | ||
7038 | ;; | ||
7039 | |||
7040 | openbsd*) | ||
7041 | if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
7042 | lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' | ||
7043 | else | ||
7044 | lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' | ||
7045 | fi | ||
7046 | ;; | ||
7047 | |||
7048 | osf3* | osf4* | osf5*) | ||
7049 | lt_cv_deplibs_check_method=pass_all | ||
7050 | ;; | ||
7051 | |||
7052 | rdos*) | ||
7053 | lt_cv_deplibs_check_method=pass_all | ||
7054 | ;; | ||
7055 | |||
7056 | solaris*) | ||
7057 | lt_cv_deplibs_check_method=pass_all | ||
7058 | ;; | ||
7059 | |||
7060 | sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) | ||
7061 | lt_cv_deplibs_check_method=pass_all | ||
7062 | ;; | ||
7063 | |||
7064 | sysv4 | sysv4.3*) | ||
7065 | case $host_vendor in | ||
7066 | motorola) | ||
7067 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' | ||
7068 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` | ||
7069 | ;; | ||
7070 | ncr) | ||
7071 | lt_cv_deplibs_check_method=pass_all | ||
7072 | ;; | ||
7073 | sequent) | ||
7074 | lt_cv_file_magic_cmd='/bin/file' | ||
7075 | lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' | ||
7076 | ;; | ||
7077 | sni) | ||
7078 | lt_cv_file_magic_cmd='/bin/file' | ||
7079 | lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" | ||
7080 | lt_cv_file_magic_test_file=/lib/libc.so | ||
7081 | ;; | ||
7082 | siemens) | ||
7083 | lt_cv_deplibs_check_method=pass_all | ||
7084 | ;; | ||
7085 | pc) | ||
7086 | lt_cv_deplibs_check_method=pass_all | ||
7087 | ;; | ||
7088 | esac | ||
7089 | ;; | ||
7090 | |||
7091 | tpf*) | ||
7092 | lt_cv_deplibs_check_method=pass_all | ||
7093 | ;; | ||
7094 | esac | ||
7095 | |||
7096 | fi | ||
7097 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 | ||
7098 | $as_echo "$lt_cv_deplibs_check_method" >&6; } | ||
7099 | |||
7100 | file_magic_glob= | ||
7101 | want_nocaseglob=no | ||
7102 | if test "$build" = "$host"; then | ||
7103 | case $host_os in | ||
7104 | mingw* | pw32*) | ||
7105 | if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then | ||
7106 | want_nocaseglob=yes | ||
7107 | else | ||
7108 | file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` | ||
7109 | fi | ||
7110 | ;; | ||
7111 | esac | ||
7112 | fi | ||
7113 | |||
7114 | file_magic_cmd=$lt_cv_file_magic_cmd | ||
7115 | deplibs_check_method=$lt_cv_deplibs_check_method | ||
7116 | test -z "$deplibs_check_method" && deplibs_check_method=unknown | ||
7117 | |||
7118 | |||
7119 | |||
7120 | |||
7121 | |||
7122 | |||
7123 | |||
7124 | |||
7125 | |||
7126 | |||
7127 | |||
7128 | |||
7129 | |||
7130 | |||
7131 | |||
7132 | |||
7133 | |||
7134 | |||
7135 | |||
7136 | |||
7137 | |||
7138 | |||
7139 | if test -n "$ac_tool_prefix"; then | ||
7140 | # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. | ||
7141 | set dummy ${ac_tool_prefix}dlltool; ac_word=$2 | ||
7142 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
7143 | $as_echo_n "checking for $ac_word... " >&6; } | ||
7144 | if ${ac_cv_prog_DLLTOOL+:} false; then : | ||
7145 | $as_echo_n "(cached) " >&6 | ||
7146 | else | ||
7147 | if test -n "$DLLTOOL"; then | ||
7148 | ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. | ||
7149 | else | ||
7150 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7151 | for as_dir in $PATH | ||
7152 | do | ||
7153 | IFS=$as_save_IFS | ||
7154 | test -z "$as_dir" && as_dir=. | ||
7155 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
7156 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
7157 | ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" | ||
7158 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
7159 | break 2 | ||
7160 | fi | ||
7161 | done | ||
7162 | done | ||
7163 | IFS=$as_save_IFS | ||
7164 | |||
7165 | fi | ||
7166 | fi | ||
7167 | DLLTOOL=$ac_cv_prog_DLLTOOL | ||
7168 | if test -n "$DLLTOOL"; then | ||
7169 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 | ||
7170 | $as_echo "$DLLTOOL" >&6; } | ||
7171 | else | ||
7172 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
7173 | $as_echo "no" >&6; } | ||
7174 | fi | ||
7175 | |||
7176 | |||
7177 | fi | ||
7178 | if test -z "$ac_cv_prog_DLLTOOL"; then | ||
7179 | ac_ct_DLLTOOL=$DLLTOOL | ||
7180 | # Extract the first word of "dlltool", so it can be a program name with args. | ||
7181 | set dummy dlltool; ac_word=$2 | ||
7182 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
7183 | $as_echo_n "checking for $ac_word... " >&6; } | ||
7184 | if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : | ||
7185 | $as_echo_n "(cached) " >&6 | ||
7186 | else | ||
7187 | if test -n "$ac_ct_DLLTOOL"; then | ||
7188 | ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. | ||
7189 | else | ||
7190 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7191 | for as_dir in $PATH | ||
7192 | do | ||
7193 | IFS=$as_save_IFS | ||
7194 | test -z "$as_dir" && as_dir=. | ||
7195 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
7196 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
7197 | ac_cv_prog_ac_ct_DLLTOOL="dlltool" | ||
7198 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
7199 | break 2 | ||
7200 | fi | ||
7201 | done | ||
7202 | done | ||
7203 | IFS=$as_save_IFS | ||
7204 | |||
7205 | fi | ||
7206 | fi | ||
7207 | ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL | ||
7208 | if test -n "$ac_ct_DLLTOOL"; then | ||
7209 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 | ||
7210 | $as_echo "$ac_ct_DLLTOOL" >&6; } | ||
7211 | else | ||
7212 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
7213 | $as_echo "no" >&6; } | ||
7214 | fi | ||
7215 | |||
7216 | if test "x$ac_ct_DLLTOOL" = x; then | ||
7217 | DLLTOOL="false" | ||
7218 | else | ||
7219 | case $cross_compiling:$ac_tool_warned in | ||
7220 | yes:) | ||
7221 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
7222 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
7223 | ac_tool_warned=yes ;; | ||
7224 | esac | ||
7225 | DLLTOOL=$ac_ct_DLLTOOL | ||
7226 | fi | ||
7227 | else | ||
7228 | DLLTOOL="$ac_cv_prog_DLLTOOL" | ||
7229 | fi | ||
7230 | |||
7231 | test -z "$DLLTOOL" && DLLTOOL=dlltool | ||
7232 | |||
7233 | |||
7234 | |||
7235 | |||
7236 | |||
7237 | |||
7238 | |||
7239 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 | ||
7240 | $as_echo_n "checking how to associate runtime and link libraries... " >&6; } | ||
7241 | if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : | ||
7242 | $as_echo_n "(cached) " >&6 | ||
7243 | else | ||
7244 | lt_cv_sharedlib_from_linklib_cmd='unknown' | ||
7245 | |||
7246 | case $host_os in | ||
7247 | cygwin* | mingw* | pw32* | cegcc*) | ||
7248 | # two different shell functions defined in ltmain.sh | ||
7249 | # decide which to use based on capabilities of $DLLTOOL | ||
7250 | case `$DLLTOOL --help 2>&1` in | ||
7251 | *--identify-strict*) | ||
7252 | lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib | ||
7253 | ;; | ||
7254 | *) | ||
7255 | lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback | ||
7256 | ;; | ||
7257 | esac | ||
7258 | ;; | ||
7259 | *) | ||
7260 | # fallback: assume linklib IS sharedlib | ||
7261 | lt_cv_sharedlib_from_linklib_cmd="$ECHO" | ||
7262 | ;; | ||
7263 | esac | ||
7264 | |||
7265 | fi | ||
7266 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 | ||
7267 | $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } | ||
7268 | sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd | ||
7269 | test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO | ||
7270 | |||
7271 | |||
7272 | |||
7273 | |||
7274 | |||
7275 | |||
7276 | |||
7277 | if test -n "$ac_tool_prefix"; then | ||
7278 | for ac_prog in ar | ||
7279 | do | ||
7280 | # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. | ||
7281 | set dummy $ac_tool_prefix$ac_prog; ac_word=$2 | ||
7282 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
7283 | $as_echo_n "checking for $ac_word... " >&6; } | ||
7284 | if ${ac_cv_prog_AR+:} false; then : | ||
7285 | $as_echo_n "(cached) " >&6 | ||
7286 | else | ||
7287 | if test -n "$AR"; then | ||
7288 | ac_cv_prog_AR="$AR" # Let the user override the test. | ||
7289 | else | ||
7290 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7291 | for as_dir in $PATH | ||
7292 | do | ||
7293 | IFS=$as_save_IFS | ||
7294 | test -z "$as_dir" && as_dir=. | ||
7295 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
7296 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
7297 | ac_cv_prog_AR="$ac_tool_prefix$ac_prog" | ||
7298 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
7299 | break 2 | ||
7300 | fi | ||
7301 | done | ||
7302 | done | ||
7303 | IFS=$as_save_IFS | ||
7304 | |||
7305 | fi | ||
7306 | fi | ||
7307 | AR=$ac_cv_prog_AR | ||
7308 | if test -n "$AR"; then | ||
7309 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 | ||
7310 | $as_echo "$AR" >&6; } | ||
7311 | else | ||
7312 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
7313 | $as_echo "no" >&6; } | ||
7314 | fi | ||
7315 | |||
7316 | |||
7317 | test -n "$AR" && break | ||
7318 | done | ||
7319 | fi | ||
7320 | if test -z "$AR"; then | ||
7321 | ac_ct_AR=$AR | ||
7322 | for ac_prog in ar | ||
7323 | do | ||
7324 | # Extract the first word of "$ac_prog", so it can be a program name with args. | ||
7325 | set dummy $ac_prog; ac_word=$2 | ||
7326 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
7327 | $as_echo_n "checking for $ac_word... " >&6; } | ||
7328 | if ${ac_cv_prog_ac_ct_AR+:} false; then : | ||
7329 | $as_echo_n "(cached) " >&6 | ||
7330 | else | ||
7331 | if test -n "$ac_ct_AR"; then | ||
7332 | ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. | ||
7333 | else | ||
7334 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7335 | for as_dir in $PATH | ||
7336 | do | ||
7337 | IFS=$as_save_IFS | ||
7338 | test -z "$as_dir" && as_dir=. | ||
7339 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
7340 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
7341 | ac_cv_prog_ac_ct_AR="$ac_prog" | ||
7342 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
7343 | break 2 | ||
7344 | fi | ||
7345 | done | ||
7346 | done | ||
7347 | IFS=$as_save_IFS | ||
7348 | |||
7349 | fi | ||
7350 | fi | ||
7351 | ac_ct_AR=$ac_cv_prog_ac_ct_AR | ||
7352 | if test -n "$ac_ct_AR"; then | ||
7353 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 | ||
7354 | $as_echo "$ac_ct_AR" >&6; } | ||
7355 | else | ||
7356 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
7357 | $as_echo "no" >&6; } | ||
7358 | fi | ||
7359 | |||
7360 | |||
7361 | test -n "$ac_ct_AR" && break | ||
7362 | done | ||
7363 | |||
7364 | if test "x$ac_ct_AR" = x; then | ||
7365 | AR="false" | ||
7366 | else | ||
7367 | case $cross_compiling:$ac_tool_warned in | ||
7368 | yes:) | ||
7369 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
7370 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
7371 | ac_tool_warned=yes ;; | ||
7372 | esac | ||
7373 | AR=$ac_ct_AR | ||
7374 | fi | ||
7375 | fi | ||
7376 | |||
7377 | : ${AR=ar} | ||
7378 | : ${AR_FLAGS=cru} | ||
7379 | |||
7380 | |||
7381 | |||
7382 | |||
7383 | |||
7384 | |||
7385 | |||
7386 | |||
7387 | |||
7388 | |||
7389 | |||
7390 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 | ||
7391 | $as_echo_n "checking for archiver @FILE support... " >&6; } | ||
7392 | if ${lt_cv_ar_at_file+:} false; then : | ||
7393 | $as_echo_n "(cached) " >&6 | ||
7394 | else | ||
7395 | lt_cv_ar_at_file=no | ||
7396 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
7397 | /* end confdefs.h. */ | ||
7398 | |||
7399 | int | ||
7400 | main () | ||
7401 | { | ||
7402 | |||
7403 | ; | ||
7404 | return 0; | ||
7405 | } | ||
7406 | _ACEOF | ||
7407 | if ac_fn_c_try_compile "$LINENO"; then : | ||
7408 | echo conftest.$ac_objext > conftest.lst | ||
7409 | lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' | ||
7410 | { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 | ||
7411 | (eval $lt_ar_try) 2>&5 | ||
7412 | ac_status=$? | ||
7413 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
7414 | test $ac_status = 0; } | ||
7415 | if test "$ac_status" -eq 0; then | ||
7416 | # Ensure the archiver fails upon bogus file names. | ||
7417 | rm -f conftest.$ac_objext libconftest.a | ||
7418 | { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 | ||
7419 | (eval $lt_ar_try) 2>&5 | ||
7420 | ac_status=$? | ||
7421 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
7422 | test $ac_status = 0; } | ||
7423 | if test "$ac_status" -ne 0; then | ||
7424 | lt_cv_ar_at_file=@ | ||
7425 | fi | ||
7426 | fi | ||
7427 | rm -f conftest.* libconftest.a | ||
7428 | |||
7429 | fi | ||
7430 | rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
7431 | |||
7432 | fi | ||
7433 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 | ||
7434 | $as_echo "$lt_cv_ar_at_file" >&6; } | ||
7435 | |||
7436 | if test "x$lt_cv_ar_at_file" = xno; then | ||
7437 | archiver_list_spec= | ||
7438 | else | ||
7439 | archiver_list_spec=$lt_cv_ar_at_file | ||
7440 | fi | ||
7441 | |||
7442 | |||
7443 | |||
7444 | |||
7445 | |||
7446 | |||
7447 | |||
7448 | if test -n "$ac_tool_prefix"; then | ||
7449 | # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. | ||
7450 | set dummy ${ac_tool_prefix}strip; ac_word=$2 | ||
7451 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
7452 | $as_echo_n "checking for $ac_word... " >&6; } | ||
7453 | if ${ac_cv_prog_STRIP+:} false; then : | ||
7454 | $as_echo_n "(cached) " >&6 | ||
7455 | else | ||
7456 | if test -n "$STRIP"; then | ||
7457 | ac_cv_prog_STRIP="$STRIP" # Let the user override the test. | ||
7458 | else | ||
7459 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7460 | for as_dir in $PATH | ||
7461 | do | ||
7462 | IFS=$as_save_IFS | ||
7463 | test -z "$as_dir" && as_dir=. | ||
7464 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
7465 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
7466 | ac_cv_prog_STRIP="${ac_tool_prefix}strip" | ||
7467 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
7468 | break 2 | ||
7469 | fi | ||
7470 | done | ||
7471 | done | ||
7472 | IFS=$as_save_IFS | ||
7473 | |||
7474 | fi | ||
7475 | fi | ||
7476 | STRIP=$ac_cv_prog_STRIP | ||
7477 | if test -n "$STRIP"; then | ||
7478 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 | ||
7479 | $as_echo "$STRIP" >&6; } | ||
7480 | else | ||
7481 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
7482 | $as_echo "no" >&6; } | ||
7483 | fi | ||
7484 | |||
7485 | |||
7486 | fi | ||
7487 | if test -z "$ac_cv_prog_STRIP"; then | ||
7488 | ac_ct_STRIP=$STRIP | ||
7489 | # Extract the first word of "strip", so it can be a program name with args. | ||
7490 | set dummy strip; ac_word=$2 | ||
7491 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
7492 | $as_echo_n "checking for $ac_word... " >&6; } | ||
7493 | if ${ac_cv_prog_ac_ct_STRIP+:} false; then : | ||
7494 | $as_echo_n "(cached) " >&6 | ||
7495 | else | ||
7496 | if test -n "$ac_ct_STRIP"; then | ||
7497 | ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. | ||
7498 | else | ||
7499 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7500 | for as_dir in $PATH | ||
7501 | do | ||
7502 | IFS=$as_save_IFS | ||
7503 | test -z "$as_dir" && as_dir=. | ||
7504 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
7505 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
7506 | ac_cv_prog_ac_ct_STRIP="strip" | ||
7507 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
7508 | break 2 | ||
7509 | fi | ||
7510 | done | ||
7511 | done | ||
7512 | IFS=$as_save_IFS | ||
7513 | |||
7514 | fi | ||
7515 | fi | ||
7516 | ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP | ||
7517 | if test -n "$ac_ct_STRIP"; then | ||
7518 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 | ||
7519 | $as_echo "$ac_ct_STRIP" >&6; } | ||
7520 | else | ||
7521 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
7522 | $as_echo "no" >&6; } | ||
7523 | fi | ||
7524 | |||
7525 | if test "x$ac_ct_STRIP" = x; then | ||
7526 | STRIP=":" | ||
7527 | else | ||
7528 | case $cross_compiling:$ac_tool_warned in | ||
7529 | yes:) | ||
7530 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
7531 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
7532 | ac_tool_warned=yes ;; | ||
7533 | esac | ||
7534 | STRIP=$ac_ct_STRIP | ||
7535 | fi | ||
7536 | else | ||
7537 | STRIP="$ac_cv_prog_STRIP" | ||
7538 | fi | ||
7539 | |||
7540 | test -z "$STRIP" && STRIP=: | ||
7541 | |||
7542 | |||
7543 | |||
7544 | |||
7545 | |||
7546 | |||
7547 | if test -n "$ac_tool_prefix"; then | ||
7548 | # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. | ||
7549 | set dummy ${ac_tool_prefix}ranlib; ac_word=$2 | ||
7550 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
7551 | $as_echo_n "checking for $ac_word... " >&6; } | ||
7552 | if ${ac_cv_prog_RANLIB+:} false; then : | ||
7553 | $as_echo_n "(cached) " >&6 | ||
7554 | else | ||
7555 | if test -n "$RANLIB"; then | ||
7556 | ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. | ||
7557 | else | ||
7558 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7559 | for as_dir in $PATH | ||
7560 | do | ||
7561 | IFS=$as_save_IFS | ||
7562 | test -z "$as_dir" && as_dir=. | ||
7563 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
7564 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
7565 | ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" | ||
7566 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
7567 | break 2 | ||
7568 | fi | ||
7569 | done | ||
7570 | done | ||
7571 | IFS=$as_save_IFS | ||
7572 | |||
7573 | fi | ||
7574 | fi | ||
7575 | RANLIB=$ac_cv_prog_RANLIB | ||
7576 | if test -n "$RANLIB"; then | ||
7577 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 | ||
7578 | $as_echo "$RANLIB" >&6; } | ||
7579 | else | ||
7580 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
7581 | $as_echo "no" >&6; } | ||
7582 | fi | ||
7583 | |||
7584 | |||
7585 | fi | ||
7586 | if test -z "$ac_cv_prog_RANLIB"; then | ||
7587 | ac_ct_RANLIB=$RANLIB | ||
7588 | # Extract the first word of "ranlib", so it can be a program name with args. | ||
7589 | set dummy ranlib; ac_word=$2 | ||
7590 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
7591 | $as_echo_n "checking for $ac_word... " >&6; } | ||
7592 | if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : | ||
7593 | $as_echo_n "(cached) " >&6 | ||
7594 | else | ||
7595 | if test -n "$ac_ct_RANLIB"; then | ||
7596 | ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. | ||
7597 | else | ||
7598 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7599 | for as_dir in $PATH | ||
7600 | do | ||
7601 | IFS=$as_save_IFS | ||
7602 | test -z "$as_dir" && as_dir=. | ||
7603 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
7604 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
7605 | ac_cv_prog_ac_ct_RANLIB="ranlib" | ||
7606 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
7607 | break 2 | ||
7608 | fi | ||
7609 | done | ||
7610 | done | ||
7611 | IFS=$as_save_IFS | ||
7612 | |||
7613 | fi | ||
7614 | fi | ||
7615 | ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB | ||
7616 | if test -n "$ac_ct_RANLIB"; then | ||
7617 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 | ||
7618 | $as_echo "$ac_ct_RANLIB" >&6; } | ||
7619 | else | ||
7620 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
7621 | $as_echo "no" >&6; } | ||
7622 | fi | ||
7623 | |||
7624 | if test "x$ac_ct_RANLIB" = x; then | ||
7625 | RANLIB=":" | ||
7626 | else | ||
7627 | case $cross_compiling:$ac_tool_warned in | ||
7628 | yes:) | ||
7629 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
7630 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
7631 | ac_tool_warned=yes ;; | ||
7632 | esac | ||
7633 | RANLIB=$ac_ct_RANLIB | ||
7634 | fi | ||
7635 | else | ||
7636 | RANLIB="$ac_cv_prog_RANLIB" | ||
7637 | fi | ||
7638 | |||
7639 | test -z "$RANLIB" && RANLIB=: | ||
7640 | |||
7641 | |||
7642 | |||
7643 | |||
7644 | |||
7645 | |||
7646 | # Determine commands to create old-style static archives. | ||
7647 | old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' | ||
7648 | old_postinstall_cmds='chmod 644 $oldlib' | ||
7649 | old_postuninstall_cmds= | ||
7650 | |||
7651 | if test -n "$RANLIB"; then | ||
7652 | case $host_os in | ||
7653 | openbsd*) | ||
7654 | old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" | ||
7655 | ;; | ||
7656 | *) | ||
7657 | old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" | ||
7658 | ;; | ||
7659 | esac | ||
7660 | old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" | ||
7661 | fi | ||
7662 | |||
7663 | case $host_os in | ||
7664 | darwin*) | ||
7665 | lock_old_archive_extraction=yes ;; | ||
7666 | *) | ||
7667 | lock_old_archive_extraction=no ;; | ||
7668 | esac | ||
7669 | |||
7670 | |||
7671 | |||
7672 | |||
7673 | |||
7674 | |||
7675 | |||
7676 | |||
7677 | |||
7678 | |||
7679 | |||
7680 | |||
7681 | |||
7682 | |||
7683 | |||
7684 | |||
7685 | |||
7686 | |||
7687 | |||
7688 | |||
7689 | |||
7690 | |||
7691 | |||
7692 | |||
7693 | |||
7694 | |||
7695 | |||
7696 | |||
7697 | |||
7698 | |||
7699 | |||
7700 | |||
7701 | |||
7702 | |||
7703 | |||
7704 | |||
7705 | |||
7706 | |||
7707 | |||
7708 | # If no C compiler was specified, use CC. | ||
7709 | LTCC=${LTCC-"$CC"} | ||
7710 | |||
7711 | # If no C compiler flags were specified, use CFLAGS. | ||
7712 | LTCFLAGS=${LTCFLAGS-"$CFLAGS"} | ||
7713 | |||
7714 | # Allow CC to be a program name with arguments. | ||
7715 | compiler=$CC | ||
7716 | |||
7717 | |||
7718 | # Check for command to grab the raw symbol name followed by C symbol from nm. | ||
7719 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 | ||
7720 | $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } | ||
7721 | if ${lt_cv_sys_global_symbol_pipe+:} false; then : | ||
7722 | $as_echo_n "(cached) " >&6 | ||
7723 | else | ||
7724 | |||
7725 | # These are sane defaults that work on at least a few old systems. | ||
7726 | # [They come from Ultrix. What could be older than Ultrix?!! ;)] | ||
7727 | |||
7728 | # Character class describing NM global symbol codes. | ||
7729 | symcode='[BCDEGRST]' | ||
7730 | |||
7731 | # Regexp to match symbols that can be accessed directly from C. | ||
7732 | sympat='\([_A-Za-z][_A-Za-z0-9]*\)' | ||
7733 | |||
7734 | # Define system-specific variables. | ||
7735 | case $host_os in | ||
7736 | aix*) | ||
7737 | symcode='[BCDT]' | ||
7738 | ;; | ||
7739 | cygwin* | mingw* | pw32* | cegcc*) | ||
7740 | symcode='[ABCDGISTW]' | ||
7741 | ;; | ||
7742 | hpux*) | ||
7743 | if test "$host_cpu" = ia64; then | ||
7744 | symcode='[ABCDEGRST]' | ||
7745 | fi | ||
7746 | ;; | ||
7747 | irix* | nonstopux*) | ||
7748 | symcode='[BCDEGRST]' | ||
7749 | ;; | ||
7750 | osf*) | ||
7751 | symcode='[BCDEGQRST]' | ||
7752 | ;; | ||
7753 | solaris*) | ||
7754 | symcode='[BDRT]' | ||
7755 | ;; | ||
7756 | sco3.2v5*) | ||
7757 | symcode='[DT]' | ||
7758 | ;; | ||
7759 | sysv4.2uw2*) | ||
7760 | symcode='[DT]' | ||
7761 | ;; | ||
7762 | sysv5* | sco5v6* | unixware* | OpenUNIX*) | ||
7763 | symcode='[ABDT]' | ||
7764 | ;; | ||
7765 | sysv4) | ||
7766 | symcode='[DFNSTU]' | ||
7767 | ;; | ||
7768 | esac | ||
7769 | |||
7770 | # If we're using GNU nm, then use its standard symbol codes. | ||
7771 | case `$NM -V 2>&1` in | ||
7772 | *GNU* | *'with BFD'*) | ||
7773 | symcode='[ABCDGIRSTW]' ;; | ||
7774 | esac | ||
7775 | |||
7776 | # Transform an extracted symbol line into a proper C declaration. | ||
7777 | # Some systems (esp. on ia64) link data and code symbols differently, | ||
7778 | # so use this general approach. | ||
7779 | lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" | ||
7780 | |||
7781 | # Transform an extracted symbol line into symbol name and symbol address | ||
7782 | lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" | ||
7783 | lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" | ||
7784 | |||
7785 | # Handle CRLF in mingw tool chain | ||
7786 | opt_cr= | ||
7787 | case $build_os in | ||
7788 | mingw*) | ||
7789 | opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp | ||
7790 | ;; | ||
7791 | esac | ||
7792 | |||
7793 | # Try without a prefix underscore, then with it. | ||
7794 | for ac_symprfx in "" "_"; do | ||
7795 | |||
7796 | # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. | ||
7797 | symxfrm="\\1 $ac_symprfx\\2 \\2" | ||
7798 | |||
7799 | # Write the raw and C identifiers. | ||
7800 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then | ||
7801 | # Fake it for dumpbin and say T for any non-static function | ||
7802 | # and D for any global variable. | ||
7803 | # Also find C++ and __fastcall symbols from MSVC++, | ||
7804 | # which start with @ or ?. | ||
7805 | lt_cv_sys_global_symbol_pipe="$AWK '"\ | ||
7806 | " {last_section=section; section=\$ 3};"\ | ||
7807 | " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ | ||
7808 | " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ | ||
7809 | " \$ 0!~/External *\|/{next};"\ | ||
7810 | " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ | ||
7811 | " {if(hide[section]) next};"\ | ||
7812 | " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ | ||
7813 | " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ | ||
7814 | " s[1]~/^[@?]/{print s[1], s[1]; next};"\ | ||
7815 | " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ | ||
7816 | " ' prfx=^$ac_symprfx" | ||
7817 | else | ||
7818 | lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" | ||
7819 | fi | ||
7820 | lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" | ||
7821 | |||
7822 | # Check to see that the pipe works correctly. | ||
7823 | pipe_works=no | ||
7824 | |||
7825 | rm -f conftest* | ||
7826 | cat > conftest.$ac_ext <<_LT_EOF | ||
7827 | #ifdef __cplusplus | ||
7828 | extern "C" { | ||
7829 | #endif | ||
7830 | char nm_test_var; | ||
7831 | void nm_test_func(void); | ||
7832 | void nm_test_func(void){} | ||
7833 | #ifdef __cplusplus | ||
7834 | } | ||
7835 | #endif | ||
7836 | int main(){nm_test_var='a';nm_test_func();return(0);} | ||
7837 | _LT_EOF | ||
7838 | |||
7839 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 | ||
7840 | (eval $ac_compile) 2>&5 | ||
7841 | ac_status=$? | ||
7842 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
7843 | test $ac_status = 0; }; then | ||
7844 | # Now try to grab the symbols. | ||
7845 | nlist=conftest.nm | ||
7846 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 | ||
7847 | (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 | ||
7848 | ac_status=$? | ||
7849 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
7850 | test $ac_status = 0; } && test -s "$nlist"; then | ||
7851 | # Try sorting and uniquifying the output. | ||
7852 | if sort "$nlist" | uniq > "$nlist"T; then | ||
7853 | mv -f "$nlist"T "$nlist" | ||
7854 | else | ||
7855 | rm -f "$nlist"T | ||
7856 | fi | ||
7857 | |||
7858 | # Make sure that we snagged all the symbols we need. | ||
7859 | if $GREP ' nm_test_var$' "$nlist" >/dev/null; then | ||
7860 | if $GREP ' nm_test_func$' "$nlist" >/dev/null; then | ||
7861 | cat <<_LT_EOF > conftest.$ac_ext | ||
7862 | /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ | ||
7863 | #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) | ||
7864 | /* DATA imports from DLLs on WIN32 con't be const, because runtime | ||
7865 | relocations are performed -- see ld's documentation on pseudo-relocs. */ | ||
7866 | # define LT_DLSYM_CONST | ||
7867 | #elif defined(__osf__) | ||
7868 | /* This system does not cope well with relocations in const data. */ | ||
7869 | # define LT_DLSYM_CONST | ||
7870 | #else | ||
7871 | # define LT_DLSYM_CONST const | ||
7872 | #endif | ||
7873 | |||
7874 | #ifdef __cplusplus | ||
7875 | extern "C" { | ||
7876 | #endif | ||
7877 | |||
7878 | _LT_EOF | ||
7879 | # Now generate the symbol file. | ||
7880 | eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' | ||
7881 | |||
7882 | cat <<_LT_EOF >> conftest.$ac_ext | ||
7883 | |||
7884 | /* The mapping between symbol names and symbols. */ | ||
7885 | LT_DLSYM_CONST struct { | ||
7886 | const char *name; | ||
7887 | void *address; | ||
7888 | } | ||
7889 | lt__PROGRAM__LTX_preloaded_symbols[] = | ||
7890 | { | ||
7891 | { "@PROGRAM@", (void *) 0 }, | ||
7892 | _LT_EOF | ||
7893 | $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext | ||
7894 | cat <<\_LT_EOF >> conftest.$ac_ext | ||
7895 | {0, (void *) 0} | ||
7896 | }; | ||
7897 | |||
7898 | /* This works around a problem in FreeBSD linker */ | ||
7899 | #ifdef FREEBSD_WORKAROUND | ||
7900 | static const void *lt_preloaded_setup() { | ||
7901 | return lt__PROGRAM__LTX_preloaded_symbols; | ||
7902 | } | ||
7903 | #endif | ||
7904 | |||
7905 | #ifdef __cplusplus | ||
7906 | } | ||
7907 | #endif | ||
7908 | _LT_EOF | ||
7909 | # Now try linking the two files. | ||
7910 | mv conftest.$ac_objext conftstm.$ac_objext | ||
7911 | lt_globsym_save_LIBS=$LIBS | ||
7912 | lt_globsym_save_CFLAGS=$CFLAGS | ||
7913 | LIBS="conftstm.$ac_objext" | ||
7914 | CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" | ||
7915 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 | ||
7916 | (eval $ac_link) 2>&5 | ||
7917 | ac_status=$? | ||
7918 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
7919 | test $ac_status = 0; } && test -s conftest${ac_exeext}; then | ||
7920 | pipe_works=yes | ||
7921 | fi | ||
7922 | LIBS=$lt_globsym_save_LIBS | ||
7923 | CFLAGS=$lt_globsym_save_CFLAGS | ||
7924 | else | ||
7925 | echo "cannot find nm_test_func in $nlist" >&5 | ||
7926 | fi | ||
7927 | else | ||
7928 | echo "cannot find nm_test_var in $nlist" >&5 | ||
7929 | fi | ||
7930 | else | ||
7931 | echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 | ||
7932 | fi | ||
7933 | else | ||
7934 | echo "$progname: failed program was:" >&5 | ||
7935 | cat conftest.$ac_ext >&5 | ||
7936 | fi | ||
7937 | rm -rf conftest* conftst* | ||
7938 | |||
7939 | # Do not use the global_symbol_pipe unless it works. | ||
7940 | if test "$pipe_works" = yes; then | ||
7941 | break | ||
7942 | else | ||
7943 | lt_cv_sys_global_symbol_pipe= | ||
7944 | fi | ||
7945 | done | ||
7946 | |||
7947 | fi | ||
7948 | |||
7949 | if test -z "$lt_cv_sys_global_symbol_pipe"; then | ||
7950 | lt_cv_sys_global_symbol_to_cdecl= | ||
7951 | fi | ||
7952 | if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then | ||
7953 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 | ||
7954 | $as_echo "failed" >&6; } | ||
7955 | else | ||
7956 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 | ||
7957 | $as_echo "ok" >&6; } | ||
7958 | fi | ||
7959 | |||
7960 | # Response file support. | ||
7961 | if test "$lt_cv_nm_interface" = "MS dumpbin"; then | ||
7962 | nm_file_list_spec='@' | ||
7963 | elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then | ||
7964 | nm_file_list_spec='@' | ||
7965 | fi | ||
7966 | |||
7967 | |||
7968 | |||
7969 | |||
7970 | |||
7971 | |||
7972 | |||
7973 | |||
7974 | |||
7975 | |||
7976 | |||
7977 | |||
7978 | |||
7979 | |||
7980 | |||
7981 | |||
7982 | |||
7983 | |||
7984 | |||
7985 | |||
7986 | |||
7987 | |||
7988 | |||
7989 | |||
7990 | |||
7991 | |||
7992 | |||
7993 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 | ||
7994 | $as_echo_n "checking for sysroot... " >&6; } | ||
7995 | |||
7996 | # Check whether --with-sysroot was given. | ||
7997 | if test "${with_sysroot+set}" = set; then : | ||
7998 | withval=$with_sysroot; | ||
7999 | else | ||
8000 | with_sysroot=no | ||
8001 | fi | ||
8002 | |||
8003 | |||
8004 | lt_sysroot= | ||
8005 | case ${with_sysroot} in #( | ||
8006 | yes) | ||
8007 | if test "$GCC" = yes; then | ||
8008 | lt_sysroot=`$CC --print-sysroot 2>/dev/null` | ||
8009 | fi | ||
8010 | ;; #( | ||
8011 | /*) | ||
8012 | lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` | ||
8013 | ;; #( | ||
8014 | no|'') | ||
8015 | ;; #( | ||
8016 | *) | ||
8017 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 | ||
8018 | $as_echo "${with_sysroot}" >&6; } | ||
8019 | as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 | ||
8020 | ;; | ||
8021 | esac | ||
8022 | |||
8023 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 | ||
8024 | $as_echo "${lt_sysroot:-no}" >&6; } | ||
8025 | |||
8026 | |||
8027 | |||
8028 | |||
8029 | |||
8030 | # Check whether --enable-libtool-lock was given. | ||
8031 | if test "${enable_libtool_lock+set}" = set; then : | ||
8032 | enableval=$enable_libtool_lock; | ||
8033 | fi | ||
8034 | |||
8035 | test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes | ||
8036 | |||
8037 | # Some flags need to be propagated to the compiler or linker for good | ||
8038 | # libtool support. | ||
8039 | case $host in | ||
8040 | ia64-*-hpux*) | ||
8041 | # Find out which ABI we are using. | ||
8042 | echo 'int i;' > conftest.$ac_ext | ||
8043 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 | ||
8044 | (eval $ac_compile) 2>&5 | ||
8045 | ac_status=$? | ||
8046 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
8047 | test $ac_status = 0; }; then | ||
8048 | case `/usr/bin/file conftest.$ac_objext` in | ||
8049 | *ELF-32*) | ||
8050 | HPUX_IA64_MODE="32" | ||
8051 | ;; | ||
8052 | *ELF-64*) | ||
8053 | HPUX_IA64_MODE="64" | ||
8054 | ;; | ||
8055 | esac | ||
8056 | fi | ||
8057 | rm -rf conftest* | ||
8058 | ;; | ||
8059 | *-*-irix6*) | ||
8060 | # Find out which ABI we are using. | ||
8061 | echo '#line '$LINENO' "configure"' > conftest.$ac_ext | ||
8062 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 | ||
8063 | (eval $ac_compile) 2>&5 | ||
8064 | ac_status=$? | ||
8065 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
8066 | test $ac_status = 0; }; then | ||
8067 | if test "$lt_cv_prog_gnu_ld" = yes; then | ||
8068 | case `/usr/bin/file conftest.$ac_objext` in | ||
8069 | *32-bit*) | ||
8070 | LD="${LD-ld} -melf32bsmip" | ||
8071 | ;; | ||
8072 | *N32*) | ||
8073 | LD="${LD-ld} -melf32bmipn32" | ||
8074 | ;; | ||
8075 | *64-bit*) | ||
8076 | LD="${LD-ld} -melf64bmip" | ||
8077 | ;; | ||
8078 | esac | ||
8079 | else | ||
8080 | case `/usr/bin/file conftest.$ac_objext` in | ||
8081 | *32-bit*) | ||
8082 | LD="${LD-ld} -32" | ||
8083 | ;; | ||
8084 | *N32*) | ||
8085 | LD="${LD-ld} -n32" | ||
8086 | ;; | ||
8087 | *64-bit*) | ||
8088 | LD="${LD-ld} -64" | ||
8089 | ;; | ||
8090 | esac | ||
8091 | fi | ||
8092 | fi | ||
8093 | rm -rf conftest* | ||
8094 | ;; | ||
8095 | |||
8096 | x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ | ||
8097 | s390*-*linux*|s390*-*tpf*|sparc*-*linux*) | ||
8098 | # Find out which ABI we are using. | ||
8099 | echo 'int i;' > conftest.$ac_ext | ||
8100 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 | ||
8101 | (eval $ac_compile) 2>&5 | ||
8102 | ac_status=$? | ||
8103 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
8104 | test $ac_status = 0; }; then | ||
8105 | case `/usr/bin/file conftest.o` in | ||
8106 | *32-bit*) | ||
8107 | case $host in | ||
8108 | x86_64-*kfreebsd*-gnu) | ||
8109 | LD="${LD-ld} -m elf_i386_fbsd" | ||
8110 | ;; | ||
8111 | x86_64-*linux*) | ||
8112 | LD="${LD-ld} -m elf_i386" | ||
8113 | ;; | ||
8114 | ppc64-*linux*|powerpc64-*linux*) | ||
8115 | LD="${LD-ld} -m elf32ppclinux" | ||
8116 | ;; | ||
8117 | s390x-*linux*) | ||
8118 | LD="${LD-ld} -m elf_s390" | ||
8119 | ;; | ||
8120 | sparc64-*linux*) | ||
8121 | LD="${LD-ld} -m elf32_sparc" | ||
8122 | ;; | ||
8123 | esac | ||
8124 | ;; | ||
8125 | *64-bit*) | ||
8126 | case $host in | ||
8127 | x86_64-*kfreebsd*-gnu) | ||
8128 | LD="${LD-ld} -m elf_x86_64_fbsd" | ||
8129 | ;; | ||
8130 | x86_64-*linux*) | ||
8131 | LD="${LD-ld} -m elf_x86_64" | ||
8132 | ;; | ||
8133 | ppc*-*linux*|powerpc*-*linux*) | ||
8134 | LD="${LD-ld} -m elf64ppc" | ||
8135 | ;; | ||
8136 | s390*-*linux*|s390*-*tpf*) | ||
8137 | LD="${LD-ld} -m elf64_s390" | ||
8138 | ;; | ||
8139 | sparc*-*linux*) | ||
8140 | LD="${LD-ld} -m elf64_sparc" | ||
8141 | ;; | ||
8142 | esac | ||
8143 | ;; | ||
8144 | esac | ||
8145 | fi | ||
8146 | rm -rf conftest* | ||
8147 | ;; | ||
8148 | |||
8149 | *-*-sco3.2v5*) | ||
8150 | # On SCO OpenServer 5, we need -belf to get full-featured binaries. | ||
8151 | SAVE_CFLAGS="$CFLAGS" | ||
8152 | CFLAGS="$CFLAGS -belf" | ||
8153 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 | ||
8154 | $as_echo_n "checking whether the C compiler needs -belf... " >&6; } | ||
8155 | if ${lt_cv_cc_needs_belf+:} false; then : | ||
8156 | $as_echo_n "(cached) " >&6 | ||
8157 | else | ||
8158 | ac_ext=c | ||
8159 | ac_cpp='$CPP $CPPFLAGS' | ||
8160 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
8161 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
8162 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
8163 | |||
8164 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
8165 | /* end confdefs.h. */ | ||
8166 | |||
8167 | int | ||
8168 | main () | ||
8169 | { | ||
8170 | |||
8171 | ; | ||
8172 | return 0; | ||
8173 | } | ||
8174 | _ACEOF | ||
8175 | if ac_fn_c_try_link "$LINENO"; then : | ||
8176 | lt_cv_cc_needs_belf=yes | ||
8177 | else | ||
8178 | lt_cv_cc_needs_belf=no | ||
8179 | fi | ||
8180 | rm -f core conftest.err conftest.$ac_objext \ | ||
8181 | conftest$ac_exeext conftest.$ac_ext | ||
8182 | ac_ext=c | ||
8183 | ac_cpp='$CPP $CPPFLAGS' | ||
8184 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
8185 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
8186 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
8187 | |||
8188 | fi | ||
8189 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 | ||
8190 | $as_echo "$lt_cv_cc_needs_belf" >&6; } | ||
8191 | if test x"$lt_cv_cc_needs_belf" != x"yes"; then | ||
8192 | # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf | ||
8193 | CFLAGS="$SAVE_CFLAGS" | ||
8194 | fi | ||
8195 | ;; | ||
8196 | *-*solaris*) | ||
8197 | # Find out which ABI we are using. | ||
8198 | echo 'int i;' > conftest.$ac_ext | ||
8199 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 | ||
8200 | (eval $ac_compile) 2>&5 | ||
8201 | ac_status=$? | ||
8202 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
8203 | test $ac_status = 0; }; then | ||
8204 | case `/usr/bin/file conftest.o` in | ||
8205 | *64-bit*) | ||
8206 | case $lt_cv_prog_gnu_ld in | ||
8207 | yes*) | ||
8208 | case $host in | ||
8209 | i?86-*-solaris*) | ||
8210 | LD="${LD-ld} -m elf_x86_64" | ||
8211 | ;; | ||
8212 | sparc*-*-solaris*) | ||
8213 | LD="${LD-ld} -m elf64_sparc" | ||
8214 | ;; | ||
8215 | esac | ||
8216 | # GNU ld 2.21 introduced _sol2 emulations. Use them if available. | ||
8217 | if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then | ||
8218 | LD="${LD-ld}_sol2" | ||
8219 | fi | ||
8220 | ;; | ||
8221 | *) | ||
8222 | if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then | ||
8223 | LD="${LD-ld} -64" | ||
8224 | fi | ||
8225 | ;; | ||
8226 | esac | ||
8227 | ;; | ||
8228 | esac | ||
8229 | fi | ||
8230 | rm -rf conftest* | ||
8231 | ;; | ||
8232 | esac | ||
8233 | |||
8234 | need_locks="$enable_libtool_lock" | ||
8235 | |||
8236 | if test -n "$ac_tool_prefix"; then | ||
8237 | # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. | ||
8238 | set dummy ${ac_tool_prefix}mt; ac_word=$2 | ||
8239 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8240 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8241 | if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : | ||
8242 | $as_echo_n "(cached) " >&6 | ||
8243 | else | ||
8244 | if test -n "$MANIFEST_TOOL"; then | ||
8245 | ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. | ||
8246 | else | ||
8247 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8248 | for as_dir in $PATH | ||
8249 | do | ||
8250 | IFS=$as_save_IFS | ||
8251 | test -z "$as_dir" && as_dir=. | ||
8252 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8253 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8254 | ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" | ||
8255 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8256 | break 2 | ||
8257 | fi | ||
8258 | done | ||
8259 | done | ||
8260 | IFS=$as_save_IFS | ||
8261 | |||
8262 | fi | ||
8263 | fi | ||
8264 | MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL | ||
8265 | if test -n "$MANIFEST_TOOL"; then | ||
8266 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 | ||
8267 | $as_echo "$MANIFEST_TOOL" >&6; } | ||
8268 | else | ||
8269 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8270 | $as_echo "no" >&6; } | ||
8271 | fi | ||
8272 | |||
8273 | |||
8274 | fi | ||
8275 | if test -z "$ac_cv_prog_MANIFEST_TOOL"; then | ||
8276 | ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL | ||
8277 | # Extract the first word of "mt", so it can be a program name with args. | ||
8278 | set dummy mt; ac_word=$2 | ||
8279 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8280 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8281 | if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : | ||
8282 | $as_echo_n "(cached) " >&6 | ||
8283 | else | ||
8284 | if test -n "$ac_ct_MANIFEST_TOOL"; then | ||
8285 | ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. | ||
8286 | else | ||
8287 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8288 | for as_dir in $PATH | ||
8289 | do | ||
8290 | IFS=$as_save_IFS | ||
8291 | test -z "$as_dir" && as_dir=. | ||
8292 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8293 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8294 | ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" | ||
8295 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8296 | break 2 | ||
8297 | fi | ||
8298 | done | ||
8299 | done | ||
8300 | IFS=$as_save_IFS | ||
8301 | |||
8302 | fi | ||
8303 | fi | ||
8304 | ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL | ||
8305 | if test -n "$ac_ct_MANIFEST_TOOL"; then | ||
8306 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 | ||
8307 | $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } | ||
8308 | else | ||
8309 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8310 | $as_echo "no" >&6; } | ||
8311 | fi | ||
8312 | |||
8313 | if test "x$ac_ct_MANIFEST_TOOL" = x; then | ||
8314 | MANIFEST_TOOL=":" | ||
8315 | else | ||
8316 | case $cross_compiling:$ac_tool_warned in | ||
8317 | yes:) | ||
8318 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
8319 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
8320 | ac_tool_warned=yes ;; | ||
8321 | esac | ||
8322 | MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL | ||
8323 | fi | ||
8324 | else | ||
8325 | MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" | ||
8326 | fi | ||
8327 | |||
8328 | test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt | ||
8329 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 | ||
8330 | $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } | ||
8331 | if ${lt_cv_path_mainfest_tool+:} false; then : | ||
8332 | $as_echo_n "(cached) " >&6 | ||
8333 | else | ||
8334 | lt_cv_path_mainfest_tool=no | ||
8335 | echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 | ||
8336 | $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out | ||
8337 | cat conftest.err >&5 | ||
8338 | if $GREP 'Manifest Tool' conftest.out > /dev/null; then | ||
8339 | lt_cv_path_mainfest_tool=yes | ||
8340 | fi | ||
8341 | rm -f conftest* | ||
8342 | fi | ||
8343 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 | ||
8344 | $as_echo "$lt_cv_path_mainfest_tool" >&6; } | ||
8345 | if test "x$lt_cv_path_mainfest_tool" != xyes; then | ||
8346 | MANIFEST_TOOL=: | ||
8347 | fi | ||
8348 | |||
8349 | |||
8350 | |||
8351 | |||
8352 | |||
8353 | |||
8354 | case $host_os in | ||
8355 | rhapsody* | darwin*) | ||
8356 | if test -n "$ac_tool_prefix"; then | ||
8357 | # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. | ||
8358 | set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 | ||
8359 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8360 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8361 | if ${ac_cv_prog_DSYMUTIL+:} false; then : | ||
8362 | $as_echo_n "(cached) " >&6 | ||
8363 | else | ||
8364 | if test -n "$DSYMUTIL"; then | ||
8365 | ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. | ||
8366 | else | ||
8367 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8368 | for as_dir in $PATH | ||
8369 | do | ||
8370 | IFS=$as_save_IFS | ||
8371 | test -z "$as_dir" && as_dir=. | ||
8372 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8373 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8374 | ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" | ||
8375 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8376 | break 2 | ||
8377 | fi | ||
8378 | done | ||
8379 | done | ||
8380 | IFS=$as_save_IFS | ||
8381 | |||
8382 | fi | ||
8383 | fi | ||
8384 | DSYMUTIL=$ac_cv_prog_DSYMUTIL | ||
8385 | if test -n "$DSYMUTIL"; then | ||
8386 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 | ||
8387 | $as_echo "$DSYMUTIL" >&6; } | ||
8388 | else | ||
8389 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8390 | $as_echo "no" >&6; } | ||
8391 | fi | ||
8392 | |||
8393 | |||
8394 | fi | ||
8395 | if test -z "$ac_cv_prog_DSYMUTIL"; then | ||
8396 | ac_ct_DSYMUTIL=$DSYMUTIL | ||
8397 | # Extract the first word of "dsymutil", so it can be a program name with args. | ||
8398 | set dummy dsymutil; ac_word=$2 | ||
8399 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8400 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8401 | if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : | ||
8402 | $as_echo_n "(cached) " >&6 | ||
8403 | else | ||
8404 | if test -n "$ac_ct_DSYMUTIL"; then | ||
8405 | ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. | ||
8406 | else | ||
8407 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8408 | for as_dir in $PATH | ||
8409 | do | ||
8410 | IFS=$as_save_IFS | ||
8411 | test -z "$as_dir" && as_dir=. | ||
8412 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8413 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8414 | ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" | ||
8415 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8416 | break 2 | ||
8417 | fi | ||
8418 | done | ||
8419 | done | ||
8420 | IFS=$as_save_IFS | ||
8421 | |||
8422 | fi | ||
8423 | fi | ||
8424 | ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL | ||
8425 | if test -n "$ac_ct_DSYMUTIL"; then | ||
8426 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 | ||
8427 | $as_echo "$ac_ct_DSYMUTIL" >&6; } | ||
8428 | else | ||
8429 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8430 | $as_echo "no" >&6; } | ||
8431 | fi | ||
8432 | |||
8433 | if test "x$ac_ct_DSYMUTIL" = x; then | ||
8434 | DSYMUTIL=":" | ||
8435 | else | ||
8436 | case $cross_compiling:$ac_tool_warned in | ||
8437 | yes:) | ||
8438 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
8439 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
8440 | ac_tool_warned=yes ;; | ||
8441 | esac | ||
8442 | DSYMUTIL=$ac_ct_DSYMUTIL | ||
8443 | fi | ||
8444 | else | ||
8445 | DSYMUTIL="$ac_cv_prog_DSYMUTIL" | ||
8446 | fi | ||
8447 | |||
8448 | if test -n "$ac_tool_prefix"; then | ||
8449 | # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. | ||
8450 | set dummy ${ac_tool_prefix}nmedit; ac_word=$2 | ||
8451 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8452 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8453 | if ${ac_cv_prog_NMEDIT+:} false; then : | ||
8454 | $as_echo_n "(cached) " >&6 | ||
8455 | else | ||
8456 | if test -n "$NMEDIT"; then | ||
8457 | ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. | ||
8458 | else | ||
8459 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8460 | for as_dir in $PATH | ||
8461 | do | ||
8462 | IFS=$as_save_IFS | ||
8463 | test -z "$as_dir" && as_dir=. | ||
8464 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8465 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8466 | ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" | ||
8467 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8468 | break 2 | ||
8469 | fi | ||
8470 | done | ||
8471 | done | ||
8472 | IFS=$as_save_IFS | ||
8473 | |||
8474 | fi | ||
8475 | fi | ||
8476 | NMEDIT=$ac_cv_prog_NMEDIT | ||
8477 | if test -n "$NMEDIT"; then | ||
8478 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 | ||
8479 | $as_echo "$NMEDIT" >&6; } | ||
8480 | else | ||
8481 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8482 | $as_echo "no" >&6; } | ||
8483 | fi | ||
8484 | |||
8485 | |||
8486 | fi | ||
8487 | if test -z "$ac_cv_prog_NMEDIT"; then | ||
8488 | ac_ct_NMEDIT=$NMEDIT | ||
8489 | # Extract the first word of "nmedit", so it can be a program name with args. | ||
8490 | set dummy nmedit; ac_word=$2 | ||
8491 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8492 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8493 | if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : | ||
8494 | $as_echo_n "(cached) " >&6 | ||
8495 | else | ||
8496 | if test -n "$ac_ct_NMEDIT"; then | ||
8497 | ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. | ||
8498 | else | ||
8499 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8500 | for as_dir in $PATH | ||
8501 | do | ||
8502 | IFS=$as_save_IFS | ||
8503 | test -z "$as_dir" && as_dir=. | ||
8504 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8505 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8506 | ac_cv_prog_ac_ct_NMEDIT="nmedit" | ||
8507 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8508 | break 2 | ||
8509 | fi | ||
8510 | done | ||
8511 | done | ||
8512 | IFS=$as_save_IFS | ||
8513 | |||
8514 | fi | ||
8515 | fi | ||
8516 | ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT | ||
8517 | if test -n "$ac_ct_NMEDIT"; then | ||
8518 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 | ||
8519 | $as_echo "$ac_ct_NMEDIT" >&6; } | ||
8520 | else | ||
8521 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8522 | $as_echo "no" >&6; } | ||
8523 | fi | ||
8524 | |||
8525 | if test "x$ac_ct_NMEDIT" = x; then | ||
8526 | NMEDIT=":" | ||
8527 | else | ||
8528 | case $cross_compiling:$ac_tool_warned in | ||
8529 | yes:) | ||
8530 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
8531 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
8532 | ac_tool_warned=yes ;; | ||
8533 | esac | ||
8534 | NMEDIT=$ac_ct_NMEDIT | ||
8535 | fi | ||
8536 | else | ||
8537 | NMEDIT="$ac_cv_prog_NMEDIT" | ||
8538 | fi | ||
8539 | |||
8540 | if test -n "$ac_tool_prefix"; then | ||
8541 | # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. | ||
8542 | set dummy ${ac_tool_prefix}lipo; ac_word=$2 | ||
8543 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8544 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8545 | if ${ac_cv_prog_LIPO+:} false; then : | ||
8546 | $as_echo_n "(cached) " >&6 | ||
8547 | else | ||
8548 | if test -n "$LIPO"; then | ||
8549 | ac_cv_prog_LIPO="$LIPO" # Let the user override the test. | ||
8550 | else | ||
8551 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8552 | for as_dir in $PATH | ||
8553 | do | ||
8554 | IFS=$as_save_IFS | ||
8555 | test -z "$as_dir" && as_dir=. | ||
8556 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8557 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8558 | ac_cv_prog_LIPO="${ac_tool_prefix}lipo" | ||
8559 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8560 | break 2 | ||
8561 | fi | ||
8562 | done | ||
8563 | done | ||
8564 | IFS=$as_save_IFS | ||
8565 | |||
8566 | fi | ||
8567 | fi | ||
8568 | LIPO=$ac_cv_prog_LIPO | ||
8569 | if test -n "$LIPO"; then | ||
8570 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 | ||
8571 | $as_echo "$LIPO" >&6; } | ||
8572 | else | ||
8573 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8574 | $as_echo "no" >&6; } | ||
8575 | fi | ||
8576 | |||
8577 | |||
8578 | fi | ||
8579 | if test -z "$ac_cv_prog_LIPO"; then | ||
8580 | ac_ct_LIPO=$LIPO | ||
8581 | # Extract the first word of "lipo", so it can be a program name with args. | ||
8582 | set dummy lipo; ac_word=$2 | ||
8583 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8584 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8585 | if ${ac_cv_prog_ac_ct_LIPO+:} false; then : | ||
8586 | $as_echo_n "(cached) " >&6 | ||
8587 | else | ||
8588 | if test -n "$ac_ct_LIPO"; then | ||
8589 | ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. | ||
8590 | else | ||
8591 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8592 | for as_dir in $PATH | ||
8593 | do | ||
8594 | IFS=$as_save_IFS | ||
8595 | test -z "$as_dir" && as_dir=. | ||
8596 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8597 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8598 | ac_cv_prog_ac_ct_LIPO="lipo" | ||
8599 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8600 | break 2 | ||
8601 | fi | ||
8602 | done | ||
8603 | done | ||
8604 | IFS=$as_save_IFS | ||
8605 | |||
8606 | fi | ||
8607 | fi | ||
8608 | ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO | ||
8609 | if test -n "$ac_ct_LIPO"; then | ||
8610 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 | ||
8611 | $as_echo "$ac_ct_LIPO" >&6; } | ||
8612 | else | ||
8613 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8614 | $as_echo "no" >&6; } | ||
8615 | fi | ||
8616 | |||
8617 | if test "x$ac_ct_LIPO" = x; then | ||
8618 | LIPO=":" | ||
8619 | else | ||
8620 | case $cross_compiling:$ac_tool_warned in | ||
8621 | yes:) | ||
8622 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
8623 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
8624 | ac_tool_warned=yes ;; | ||
8625 | esac | ||
8626 | LIPO=$ac_ct_LIPO | ||
8627 | fi | ||
8628 | else | ||
8629 | LIPO="$ac_cv_prog_LIPO" | ||
8630 | fi | ||
8631 | |||
8632 | if test -n "$ac_tool_prefix"; then | ||
8633 | # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. | ||
8634 | set dummy ${ac_tool_prefix}otool; ac_word=$2 | ||
8635 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8636 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8637 | if ${ac_cv_prog_OTOOL+:} false; then : | ||
8638 | $as_echo_n "(cached) " >&6 | ||
8639 | else | ||
8640 | if test -n "$OTOOL"; then | ||
8641 | ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. | ||
8642 | else | ||
8643 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8644 | for as_dir in $PATH | ||
8645 | do | ||
8646 | IFS=$as_save_IFS | ||
8647 | test -z "$as_dir" && as_dir=. | ||
8648 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8649 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8650 | ac_cv_prog_OTOOL="${ac_tool_prefix}otool" | ||
8651 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8652 | break 2 | ||
8653 | fi | ||
8654 | done | ||
8655 | done | ||
8656 | IFS=$as_save_IFS | ||
8657 | |||
8658 | fi | ||
8659 | fi | ||
8660 | OTOOL=$ac_cv_prog_OTOOL | ||
8661 | if test -n "$OTOOL"; then | ||
8662 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 | ||
8663 | $as_echo "$OTOOL" >&6; } | ||
8664 | else | ||
8665 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8666 | $as_echo "no" >&6; } | ||
8667 | fi | ||
8668 | |||
8669 | |||
8670 | fi | ||
8671 | if test -z "$ac_cv_prog_OTOOL"; then | ||
8672 | ac_ct_OTOOL=$OTOOL | ||
8673 | # Extract the first word of "otool", so it can be a program name with args. | ||
8674 | set dummy otool; ac_word=$2 | ||
8675 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8676 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8677 | if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : | ||
8678 | $as_echo_n "(cached) " >&6 | ||
8679 | else | ||
8680 | if test -n "$ac_ct_OTOOL"; then | ||
8681 | ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. | ||
8682 | else | ||
8683 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8684 | for as_dir in $PATH | ||
8685 | do | ||
8686 | IFS=$as_save_IFS | ||
8687 | test -z "$as_dir" && as_dir=. | ||
8688 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8689 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8690 | ac_cv_prog_ac_ct_OTOOL="otool" | ||
8691 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8692 | break 2 | ||
8693 | fi | ||
8694 | done | ||
8695 | done | ||
8696 | IFS=$as_save_IFS | ||
8697 | |||
8698 | fi | ||
8699 | fi | ||
8700 | ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL | ||
8701 | if test -n "$ac_ct_OTOOL"; then | ||
8702 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 | ||
8703 | $as_echo "$ac_ct_OTOOL" >&6; } | ||
8704 | else | ||
8705 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8706 | $as_echo "no" >&6; } | ||
8707 | fi | ||
8708 | |||
8709 | if test "x$ac_ct_OTOOL" = x; then | ||
8710 | OTOOL=":" | ||
8711 | else | ||
8712 | case $cross_compiling:$ac_tool_warned in | ||
8713 | yes:) | ||
8714 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
8715 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
8716 | ac_tool_warned=yes ;; | ||
8717 | esac | ||
8718 | OTOOL=$ac_ct_OTOOL | ||
8719 | fi | ||
8720 | else | ||
8721 | OTOOL="$ac_cv_prog_OTOOL" | ||
8722 | fi | ||
8723 | |||
8724 | if test -n "$ac_tool_prefix"; then | ||
8725 | # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. | ||
8726 | set dummy ${ac_tool_prefix}otool64; ac_word=$2 | ||
8727 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8728 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8729 | if ${ac_cv_prog_OTOOL64+:} false; then : | ||
8730 | $as_echo_n "(cached) " >&6 | ||
8731 | else | ||
8732 | if test -n "$OTOOL64"; then | ||
8733 | ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. | ||
8734 | else | ||
8735 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8736 | for as_dir in $PATH | ||
8737 | do | ||
8738 | IFS=$as_save_IFS | ||
8739 | test -z "$as_dir" && as_dir=. | ||
8740 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8741 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8742 | ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" | ||
8743 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8744 | break 2 | ||
8745 | fi | ||
8746 | done | ||
8747 | done | ||
8748 | IFS=$as_save_IFS | ||
8749 | |||
8750 | fi | ||
8751 | fi | ||
8752 | OTOOL64=$ac_cv_prog_OTOOL64 | ||
8753 | if test -n "$OTOOL64"; then | ||
8754 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 | ||
8755 | $as_echo "$OTOOL64" >&6; } | ||
8756 | else | ||
8757 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8758 | $as_echo "no" >&6; } | ||
8759 | fi | ||
8760 | |||
8761 | |||
8762 | fi | ||
8763 | if test -z "$ac_cv_prog_OTOOL64"; then | ||
8764 | ac_ct_OTOOL64=$OTOOL64 | ||
8765 | # Extract the first word of "otool64", so it can be a program name with args. | ||
8766 | set dummy otool64; ac_word=$2 | ||
8767 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||
8768 | $as_echo_n "checking for $ac_word... " >&6; } | ||
8769 | if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : | ||
8770 | $as_echo_n "(cached) " >&6 | ||
8771 | else | ||
8772 | if test -n "$ac_ct_OTOOL64"; then | ||
8773 | ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. | ||
8774 | else | ||
8775 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
8776 | for as_dir in $PATH | ||
8777 | do | ||
8778 | IFS=$as_save_IFS | ||
8779 | test -z "$as_dir" && as_dir=. | ||
8780 | for ac_exec_ext in '' $ac_executable_extensions; do | ||
8781 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
8782 | ac_cv_prog_ac_ct_OTOOL64="otool64" | ||
8783 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
8784 | break 2 | ||
8785 | fi | ||
8786 | done | ||
8787 | done | ||
8788 | IFS=$as_save_IFS | ||
8789 | |||
8790 | fi | ||
8791 | fi | ||
8792 | ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 | ||
8793 | if test -n "$ac_ct_OTOOL64"; then | ||
8794 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 | ||
8795 | $as_echo "$ac_ct_OTOOL64" >&6; } | ||
8796 | else | ||
8797 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
8798 | $as_echo "no" >&6; } | ||
8799 | fi | ||
8800 | |||
8801 | if test "x$ac_ct_OTOOL64" = x; then | ||
8802 | OTOOL64=":" | ||
8803 | else | ||
8804 | case $cross_compiling:$ac_tool_warned in | ||
8805 | yes:) | ||
8806 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||
8807 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||
8808 | ac_tool_warned=yes ;; | ||
8809 | esac | ||
8810 | OTOOL64=$ac_ct_OTOOL64 | ||
8811 | fi | ||
8812 | else | ||
8813 | OTOOL64="$ac_cv_prog_OTOOL64" | ||
8814 | fi | ||
8815 | |||
8816 | |||
8817 | |||
8818 | |||
8819 | |||
8820 | |||
8821 | |||
8822 | |||
8823 | |||
8824 | |||
8825 | |||
8826 | |||
8827 | |||
8828 | |||
8829 | |||
8830 | |||
8831 | |||
8832 | |||
8833 | |||
8834 | |||
8835 | |||
8836 | |||
8837 | |||
8838 | |||
8839 | |||
8840 | |||
8841 | |||
8842 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 | ||
8843 | $as_echo_n "checking for -single_module linker flag... " >&6; } | ||
8844 | if ${lt_cv_apple_cc_single_mod+:} false; then : | ||
8845 | $as_echo_n "(cached) " >&6 | ||
8846 | else | ||
8847 | lt_cv_apple_cc_single_mod=no | ||
8848 | if test -z "${LT_MULTI_MODULE}"; then | ||
8849 | # By default we will add the -single_module flag. You can override | ||
8850 | # by either setting the environment variable LT_MULTI_MODULE | ||
8851 | # non-empty at configure time, or by adding -multi_module to the | ||
8852 | # link flags. | ||
8853 | rm -rf libconftest.dylib* | ||
8854 | echo "int foo(void){return 1;}" > conftest.c | ||
8855 | echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | ||
8856 | -dynamiclib -Wl,-single_module conftest.c" >&5 | ||
8857 | $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | ||
8858 | -dynamiclib -Wl,-single_module conftest.c 2>conftest.err | ||
8859 | _lt_result=$? | ||
8860 | # If there is a non-empty error log, and "single_module" | ||
8861 | # appears in it, assume the flag caused a linker warning | ||
8862 | if test -s conftest.err && $GREP single_module conftest.err; then | ||
8863 | cat conftest.err >&5 | ||
8864 | # Otherwise, if the output was created with a 0 exit code from | ||
8865 | # the compiler, it worked. | ||
8866 | elif test -f libconftest.dylib && test $_lt_result -eq 0; then | ||
8867 | lt_cv_apple_cc_single_mod=yes | ||
8868 | else | ||
8869 | cat conftest.err >&5 | ||
8870 | fi | ||
8871 | rm -rf libconftest.dylib* | ||
8872 | rm -f conftest.* | ||
8873 | fi | ||
8874 | fi | ||
8875 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 | ||
8876 | $as_echo "$lt_cv_apple_cc_single_mod" >&6; } | ||
8877 | |||
8878 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 | ||
8879 | $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } | ||
8880 | if ${lt_cv_ld_exported_symbols_list+:} false; then : | ||
8881 | $as_echo_n "(cached) " >&6 | ||
8882 | else | ||
8883 | lt_cv_ld_exported_symbols_list=no | ||
8884 | save_LDFLAGS=$LDFLAGS | ||
8885 | echo "_main" > conftest.sym | ||
8886 | LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" | ||
8887 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
8888 | /* end confdefs.h. */ | ||
8889 | |||
8890 | int | ||
8891 | main () | ||
8892 | { | ||
8893 | |||
8894 | ; | ||
8895 | return 0; | ||
8896 | } | ||
8897 | _ACEOF | ||
8898 | if ac_fn_c_try_link "$LINENO"; then : | ||
8899 | lt_cv_ld_exported_symbols_list=yes | ||
8900 | else | ||
8901 | lt_cv_ld_exported_symbols_list=no | ||
8902 | fi | ||
8903 | rm -f core conftest.err conftest.$ac_objext \ | ||
8904 | conftest$ac_exeext conftest.$ac_ext | ||
8905 | LDFLAGS="$save_LDFLAGS" | ||
8906 | |||
8907 | fi | ||
8908 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 | ||
8909 | $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } | ||
8910 | |||
8911 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 | ||
8912 | $as_echo_n "checking for -force_load linker flag... " >&6; } | ||
8913 | if ${lt_cv_ld_force_load+:} false; then : | ||
8914 | $as_echo_n "(cached) " >&6 | ||
8915 | else | ||
8916 | lt_cv_ld_force_load=no | ||
8917 | cat > conftest.c << _LT_EOF | ||
8918 | int forced_loaded() { return 2;} | ||
8919 | _LT_EOF | ||
8920 | echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 | ||
8921 | $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 | ||
8922 | echo "$AR cru libconftest.a conftest.o" >&5 | ||
8923 | $AR cru libconftest.a conftest.o 2>&5 | ||
8924 | echo "$RANLIB libconftest.a" >&5 | ||
8925 | $RANLIB libconftest.a 2>&5 | ||
8926 | cat > conftest.c << _LT_EOF | ||
8927 | int main() { return 0;} | ||
8928 | _LT_EOF | ||
8929 | echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 | ||
8930 | $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err | ||
8931 | _lt_result=$? | ||
8932 | if test -s conftest.err && $GREP force_load conftest.err; then | ||
8933 | cat conftest.err >&5 | ||
8934 | elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then | ||
8935 | lt_cv_ld_force_load=yes | ||
8936 | else | ||
8937 | cat conftest.err >&5 | ||
8938 | fi | ||
8939 | rm -f conftest.err libconftest.a conftest conftest.c | ||
8940 | rm -rf conftest.dSYM | ||
8941 | |||
8942 | fi | ||
8943 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 | ||
8944 | $as_echo "$lt_cv_ld_force_load" >&6; } | ||
8945 | case $host_os in | ||
8946 | rhapsody* | darwin1.[012]) | ||
8947 | _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; | ||
8948 | darwin1.*) | ||
8949 | _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; | ||
8950 | darwin*) # darwin 5.x on | ||
8951 | # if running on 10.5 or later, the deployment target defaults | ||
8952 | # to the OS version, if on x86, and 10.4, the deployment | ||
8953 | # target defaults to 10.4. Don't you love it? | ||
8954 | case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in | ||
8955 | 10.0,*86*-darwin8*|10.0,*-darwin[91]*) | ||
8956 | _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; | ||
8957 | 10.[012]*) | ||
8958 | _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; | ||
8959 | 10.*) | ||
8960 | _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; | ||
8961 | esac | ||
8962 | ;; | ||
8963 | esac | ||
8964 | if test "$lt_cv_apple_cc_single_mod" = "yes"; then | ||
8965 | _lt_dar_single_mod='$single_module' | ||
8966 | fi | ||
8967 | if test "$lt_cv_ld_exported_symbols_list" = "yes"; then | ||
8968 | _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' | ||
8969 | else | ||
8970 | _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
8971 | fi | ||
8972 | if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then | ||
8973 | _lt_dsymutil='~$DSYMUTIL $lib || :' | ||
8974 | else | ||
8975 | _lt_dsymutil= | ||
8976 | fi | ||
8977 | ;; | ||
8978 | esac | ||
8979 | |||
8980 | for ac_header in dlfcn.h | ||
8981 | do : | ||
8982 | ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default | ||
8983 | " | ||
8984 | if test "x$ac_cv_header_dlfcn_h" = xyes; then : | ||
8985 | cat >>confdefs.h <<_ACEOF | ||
8986 | #define HAVE_DLFCN_H 1 | ||
8987 | _ACEOF | ||
8988 | |||
8989 | fi | ||
8990 | |||
8991 | done | ||
8992 | |||
8993 | |||
8994 | |||
8995 | |||
8996 | |||
8997 | # Set options | ||
8998 | |||
8999 | |||
9000 | |||
9001 | enable_dlopen=no | ||
9002 | |||
9003 | |||
9004 | |||
9005 | # Check whether --enable-shared was given. | ||
9006 | if test "${enable_shared+set}" = set; then : | ||
9007 | enableval=$enable_shared; p=${PACKAGE-default} | ||
9008 | case $enableval in | ||
9009 | yes) enable_shared=yes ;; | ||
9010 | no) enable_shared=no ;; | ||
9011 | *) | ||
9012 | enable_shared=no | ||
9013 | # Look at the argument we got. We use all the common list separators. | ||
9014 | lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
9015 | for pkg in $enableval; do | ||
9016 | IFS="$lt_save_ifs" | ||
9017 | if test "X$pkg" = "X$p"; then | ||
9018 | enable_shared=yes | ||
9019 | fi | ||
9020 | done | ||
9021 | IFS="$lt_save_ifs" | ||
9022 | ;; | ||
9023 | esac | ||
9024 | else | ||
9025 | enable_shared=yes | ||
9026 | fi | ||
9027 | |||
9028 | |||
9029 | |||
9030 | |||
9031 | |||
9032 | |||
9033 | |||
9034 | |||
9035 | |||
9036 | # Check whether --enable-static was given. | ||
9037 | if test "${enable_static+set}" = set; then : | ||
9038 | enableval=$enable_static; p=${PACKAGE-default} | ||
9039 | case $enableval in | ||
9040 | yes) enable_static=yes ;; | ||
9041 | no) enable_static=no ;; | ||
9042 | *) | ||
9043 | enable_static=no | ||
9044 | # Look at the argument we got. We use all the common list separators. | ||
9045 | lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
9046 | for pkg in $enableval; do | ||
9047 | IFS="$lt_save_ifs" | ||
9048 | if test "X$pkg" = "X$p"; then | ||
9049 | enable_static=yes | ||
9050 | fi | ||
9051 | done | ||
9052 | IFS="$lt_save_ifs" | ||
9053 | ;; | ||
9054 | esac | ||
9055 | else | ||
9056 | enable_static=yes | ||
9057 | fi | ||
9058 | |||
9059 | |||
9060 | |||
9061 | |||
9062 | |||
9063 | |||
9064 | |||
9065 | |||
9066 | |||
9067 | |||
9068 | # Check whether --with-pic was given. | ||
9069 | if test "${with_pic+set}" = set; then : | ||
9070 | withval=$with_pic; lt_p=${PACKAGE-default} | ||
9071 | case $withval in | ||
9072 | yes|no) pic_mode=$withval ;; | ||
9073 | *) | ||
9074 | pic_mode=default | ||
9075 | # Look at the argument we got. We use all the common list separators. | ||
9076 | lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
9077 | for lt_pkg in $withval; do | ||
9078 | IFS="$lt_save_ifs" | ||
9079 | if test "X$lt_pkg" = "X$lt_p"; then | ||
9080 | pic_mode=yes | ||
9081 | fi | ||
9082 | done | ||
9083 | IFS="$lt_save_ifs" | ||
9084 | ;; | ||
9085 | esac | ||
9086 | else | ||
9087 | pic_mode=default | ||
9088 | fi | ||
9089 | |||
9090 | |||
9091 | test -z "$pic_mode" && pic_mode=default | ||
9092 | |||
9093 | |||
9094 | |||
9095 | |||
9096 | |||
9097 | |||
9098 | |||
9099 | # Check whether --enable-fast-install was given. | ||
9100 | if test "${enable_fast_install+set}" = set; then : | ||
9101 | enableval=$enable_fast_install; p=${PACKAGE-default} | ||
9102 | case $enableval in | ||
9103 | yes) enable_fast_install=yes ;; | ||
9104 | no) enable_fast_install=no ;; | ||
9105 | *) | ||
9106 | enable_fast_install=no | ||
9107 | # Look at the argument we got. We use all the common list separators. | ||
9108 | lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
9109 | for pkg in $enableval; do | ||
9110 | IFS="$lt_save_ifs" | ||
9111 | if test "X$pkg" = "X$p"; then | ||
9112 | enable_fast_install=yes | ||
9113 | fi | ||
9114 | done | ||
9115 | IFS="$lt_save_ifs" | ||
9116 | ;; | ||
9117 | esac | ||
9118 | else | ||
9119 | enable_fast_install=yes | ||
9120 | fi | ||
9121 | |||
9122 | |||
9123 | |||
9124 | |||
9125 | |||
9126 | |||
9127 | |||
9128 | |||
9129 | |||
9130 | |||
9131 | |||
9132 | # This can be used to rebuild libtool when needed | ||
9133 | LIBTOOL_DEPS="$ltmain" | ||
9134 | |||
9135 | # Always use our own libtool. | ||
9136 | LIBTOOL='$(SHELL) $(top_builddir)/libtool' | ||
9137 | |||
9138 | |||
9139 | |||
9140 | |||
9141 | |||
9142 | |||
9143 | |||
9144 | |||
9145 | |||
9146 | |||
9147 | |||
9148 | |||
9149 | |||
9150 | |||
9151 | |||
9152 | |||
9153 | |||
9154 | |||
9155 | |||
9156 | |||
9157 | |||
9158 | |||
9159 | |||
9160 | |||
9161 | |||
9162 | |||
9163 | |||
9164 | |||
9165 | |||
9166 | |||
9167 | test -z "$LN_S" && LN_S="ln -s" | ||
9168 | |||
9169 | |||
9170 | |||
9171 | |||
9172 | |||
9173 | |||
9174 | |||
9175 | |||
9176 | |||
9177 | |||
9178 | |||
9179 | |||
9180 | |||
9181 | |||
9182 | if test -n "${ZSH_VERSION+set}" ; then | ||
9183 | setopt NO_GLOB_SUBST | ||
9184 | fi | ||
9185 | |||
9186 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 | ||
9187 | $as_echo_n "checking for objdir... " >&6; } | ||
9188 | if ${lt_cv_objdir+:} false; then : | ||
9189 | $as_echo_n "(cached) " >&6 | ||
9190 | else | ||
9191 | rm -f .libs 2>/dev/null | ||
9192 | mkdir .libs 2>/dev/null | ||
9193 | if test -d .libs; then | ||
9194 | lt_cv_objdir=.libs | ||
9195 | else | ||
9196 | # MS-DOS does not allow filenames that begin with a dot. | ||
9197 | lt_cv_objdir=_libs | ||
9198 | fi | ||
9199 | rmdir .libs 2>/dev/null | ||
9200 | fi | ||
9201 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 | ||
9202 | $as_echo "$lt_cv_objdir" >&6; } | ||
9203 | objdir=$lt_cv_objdir | ||
9204 | |||
9205 | |||
9206 | |||
9207 | |||
9208 | |||
9209 | cat >>confdefs.h <<_ACEOF | ||
9210 | #define LT_OBJDIR "$lt_cv_objdir/" | ||
9211 | _ACEOF | ||
9212 | |||
9213 | |||
9214 | |||
9215 | |||
9216 | case $host_os in | ||
9217 | aix3*) | ||
9218 | # AIX sometimes has problems with the GCC collect2 program. For some | ||
9219 | # reason, if we set the COLLECT_NAMES environment variable, the problems | ||
9220 | # vanish in a puff of smoke. | ||
9221 | if test "X${COLLECT_NAMES+set}" != Xset; then | ||
9222 | COLLECT_NAMES= | ||
9223 | export COLLECT_NAMES | ||
9224 | fi | ||
9225 | ;; | ||
9226 | esac | ||
9227 | |||
9228 | # Global variables: | ||
9229 | ofile=libtool | ||
9230 | can_build_shared=yes | ||
9231 | |||
9232 | # All known linkers require a `.a' archive for static linking (except MSVC, | ||
9233 | # which needs '.lib'). | ||
9234 | libext=a | ||
9235 | |||
9236 | with_gnu_ld="$lt_cv_prog_gnu_ld" | ||
9237 | |||
9238 | old_CC="$CC" | ||
9239 | old_CFLAGS="$CFLAGS" | ||
9240 | |||
9241 | # Set sane defaults for various variables | ||
9242 | test -z "$CC" && CC=cc | ||
9243 | test -z "$LTCC" && LTCC=$CC | ||
9244 | test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS | ||
9245 | test -z "$LD" && LD=ld | ||
9246 | test -z "$ac_objext" && ac_objext=o | ||
9247 | |||
9248 | for cc_temp in $compiler""; do | ||
9249 | case $cc_temp in | ||
9250 | compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; | ||
9251 | distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; | ||
9252 | \-*) ;; | ||
9253 | *) break;; | ||
9254 | esac | ||
9255 | done | ||
9256 | cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` | ||
9257 | |||
9258 | |||
9259 | # Only perform the check for file, if the check method requires it | ||
9260 | test -z "$MAGIC_CMD" && MAGIC_CMD=file | ||
9261 | case $deplibs_check_method in | ||
9262 | file_magic*) | ||
9263 | if test "$file_magic_cmd" = '$MAGIC_CMD'; then | ||
9264 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 | ||
9265 | $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } | ||
9266 | if ${lt_cv_path_MAGIC_CMD+:} false; then : | ||
9267 | $as_echo_n "(cached) " >&6 | ||
9268 | else | ||
9269 | case $MAGIC_CMD in | ||
9270 | [\\/*] | ?:[\\/]*) | ||
9271 | lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. | ||
9272 | ;; | ||
9273 | *) | ||
9274 | lt_save_MAGIC_CMD="$MAGIC_CMD" | ||
9275 | lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
9276 | ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" | ||
9277 | for ac_dir in $ac_dummy; do | ||
9278 | IFS="$lt_save_ifs" | ||
9279 | test -z "$ac_dir" && ac_dir=. | ||
9280 | if test -f $ac_dir/${ac_tool_prefix}file; then | ||
9281 | lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" | ||
9282 | if test -n "$file_magic_test_file"; then | ||
9283 | case $deplibs_check_method in | ||
9284 | "file_magic "*) | ||
9285 | file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` | ||
9286 | MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
9287 | if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | | ||
9288 | $EGREP "$file_magic_regex" > /dev/null; then | ||
9289 | : | ||
9290 | else | ||
9291 | cat <<_LT_EOF 1>&2 | ||
9292 | |||
9293 | *** Warning: the command libtool uses to detect shared libraries, | ||
9294 | *** $file_magic_cmd, produces output that libtool cannot recognize. | ||
9295 | *** The result is that libtool may fail to recognize shared libraries | ||
9296 | *** as such. This will affect the creation of libtool libraries that | ||
9297 | *** depend on shared libraries, but programs linked with such libtool | ||
9298 | *** libraries will work regardless of this problem. Nevertheless, you | ||
9299 | *** may want to report the problem to your system manager and/or to | ||
9300 | *** bug-libtool@gnu.org | ||
9301 | |||
9302 | _LT_EOF | ||
9303 | fi ;; | ||
9304 | esac | ||
9305 | fi | ||
9306 | break | ||
9307 | fi | ||
9308 | done | ||
9309 | IFS="$lt_save_ifs" | ||
9310 | MAGIC_CMD="$lt_save_MAGIC_CMD" | ||
9311 | ;; | ||
9312 | esac | ||
9313 | fi | ||
9314 | |||
9315 | MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
9316 | if test -n "$MAGIC_CMD"; then | ||
9317 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 | ||
9318 | $as_echo "$MAGIC_CMD" >&6; } | ||
9319 | else | ||
9320 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
9321 | $as_echo "no" >&6; } | ||
9322 | fi | ||
9323 | |||
9324 | |||
9325 | |||
9326 | |||
9327 | |||
9328 | if test -z "$lt_cv_path_MAGIC_CMD"; then | ||
9329 | if test -n "$ac_tool_prefix"; then | ||
9330 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 | ||
9331 | $as_echo_n "checking for file... " >&6; } | ||
9332 | if ${lt_cv_path_MAGIC_CMD+:} false; then : | ||
9333 | $as_echo_n "(cached) " >&6 | ||
9334 | else | ||
9335 | case $MAGIC_CMD in | ||
9336 | [\\/*] | ?:[\\/]*) | ||
9337 | lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. | ||
9338 | ;; | ||
9339 | *) | ||
9340 | lt_save_MAGIC_CMD="$MAGIC_CMD" | ||
9341 | lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
9342 | ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" | ||
9343 | for ac_dir in $ac_dummy; do | ||
9344 | IFS="$lt_save_ifs" | ||
9345 | test -z "$ac_dir" && ac_dir=. | ||
9346 | if test -f $ac_dir/file; then | ||
9347 | lt_cv_path_MAGIC_CMD="$ac_dir/file" | ||
9348 | if test -n "$file_magic_test_file"; then | ||
9349 | case $deplibs_check_method in | ||
9350 | "file_magic "*) | ||
9351 | file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` | ||
9352 | MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
9353 | if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | | ||
9354 | $EGREP "$file_magic_regex" > /dev/null; then | ||
9355 | : | ||
9356 | else | ||
9357 | cat <<_LT_EOF 1>&2 | ||
9358 | |||
9359 | *** Warning: the command libtool uses to detect shared libraries, | ||
9360 | *** $file_magic_cmd, produces output that libtool cannot recognize. | ||
9361 | *** The result is that libtool may fail to recognize shared libraries | ||
9362 | *** as such. This will affect the creation of libtool libraries that | ||
9363 | *** depend on shared libraries, but programs linked with such libtool | ||
9364 | *** libraries will work regardless of this problem. Nevertheless, you | ||
9365 | *** may want to report the problem to your system manager and/or to | ||
9366 | *** bug-libtool@gnu.org | ||
9367 | |||
9368 | _LT_EOF | ||
9369 | fi ;; | ||
9370 | esac | ||
9371 | fi | ||
9372 | break | ||
9373 | fi | ||
9374 | done | ||
9375 | IFS="$lt_save_ifs" | ||
9376 | MAGIC_CMD="$lt_save_MAGIC_CMD" | ||
9377 | ;; | ||
9378 | esac | ||
9379 | fi | ||
9380 | |||
9381 | MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
9382 | if test -n "$MAGIC_CMD"; then | ||
9383 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 | ||
9384 | $as_echo "$MAGIC_CMD" >&6; } | ||
9385 | else | ||
9386 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
9387 | $as_echo "no" >&6; } | ||
9388 | fi | ||
9389 | |||
9390 | |||
9391 | else | ||
9392 | MAGIC_CMD=: | ||
9393 | fi | ||
9394 | fi | ||
9395 | |||
9396 | fi | ||
9397 | ;; | ||
9398 | esac | ||
9399 | |||
9400 | # Use C for the default configuration in the libtool script | ||
9401 | |||
9402 | lt_save_CC="$CC" | ||
9403 | ac_ext=c | ||
9404 | ac_cpp='$CPP $CPPFLAGS' | ||
9405 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
9406 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
9407 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
9408 | |||
9409 | |||
9410 | # Source file extension for C test sources. | ||
9411 | ac_ext=c | ||
9412 | |||
9413 | # Object file extension for compiled C test sources. | ||
9414 | objext=o | ||
9415 | objext=$objext | ||
9416 | |||
9417 | # Code to be used in simple compile tests | ||
9418 | lt_simple_compile_test_code="int some_variable = 0;" | ||
9419 | |||
9420 | # Code to be used in simple link tests | ||
9421 | lt_simple_link_test_code='int main(){return(0);}' | ||
9422 | |||
9423 | |||
9424 | |||
9425 | |||
9426 | |||
9427 | |||
9428 | |||
9429 | # If no C compiler was specified, use CC. | ||
9430 | LTCC=${LTCC-"$CC"} | ||
9431 | |||
9432 | # If no C compiler flags were specified, use CFLAGS. | ||
9433 | LTCFLAGS=${LTCFLAGS-"$CFLAGS"} | ||
9434 | |||
9435 | # Allow CC to be a program name with arguments. | ||
9436 | compiler=$CC | ||
9437 | |||
9438 | # Save the default compiler, since it gets overwritten when the other | ||
9439 | # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. | ||
9440 | compiler_DEFAULT=$CC | ||
9441 | |||
9442 | # save warnings/boilerplate of simple test code | ||
9443 | ac_outfile=conftest.$ac_objext | ||
9444 | echo "$lt_simple_compile_test_code" >conftest.$ac_ext | ||
9445 | eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | ||
9446 | _lt_compiler_boilerplate=`cat conftest.err` | ||
9447 | $RM conftest* | ||
9448 | |||
9449 | ac_outfile=conftest.$ac_objext | ||
9450 | echo "$lt_simple_link_test_code" >conftest.$ac_ext | ||
9451 | eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | ||
9452 | _lt_linker_boilerplate=`cat conftest.err` | ||
9453 | $RM -r conftest* | ||
9454 | |||
9455 | |||
9456 | if test -n "$compiler"; then | ||
9457 | |||
9458 | lt_prog_compiler_no_builtin_flag= | ||
9459 | |||
9460 | if test "$GCC" = yes; then | ||
9461 | case $cc_basename in | ||
9462 | nvcc*) | ||
9463 | lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; | ||
9464 | *) | ||
9465 | lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; | ||
9466 | esac | ||
9467 | |||
9468 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 | ||
9469 | $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } | ||
9470 | if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : | ||
9471 | $as_echo_n "(cached) " >&6 | ||
9472 | else | ||
9473 | lt_cv_prog_compiler_rtti_exceptions=no | ||
9474 | ac_outfile=conftest.$ac_objext | ||
9475 | echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
9476 | lt_compiler_flag="-fno-rtti -fno-exceptions" | ||
9477 | # Insert the option either (1) after the last *FLAGS variable, or | ||
9478 | # (2) before a word containing "conftest.", or (3) at the end. | ||
9479 | # Note that $ac_compile itself does not contain backslashes and begins | ||
9480 | # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
9481 | # The option is referenced via a variable to avoid confusing sed. | ||
9482 | lt_compile=`echo "$ac_compile" | $SED \ | ||
9483 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
9484 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | ||
9485 | -e 's:$: $lt_compiler_flag:'` | ||
9486 | (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) | ||
9487 | (eval "$lt_compile" 2>conftest.err) | ||
9488 | ac_status=$? | ||
9489 | cat conftest.err >&5 | ||
9490 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9491 | if (exit $ac_status) && test -s "$ac_outfile"; then | ||
9492 | # The compiler can only warn and ignore the option if not recognized | ||
9493 | # So say no if there are warnings other than the usual output. | ||
9494 | $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp | ||
9495 | $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
9496 | if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then | ||
9497 | lt_cv_prog_compiler_rtti_exceptions=yes | ||
9498 | fi | ||
9499 | fi | ||
9500 | $RM conftest* | ||
9501 | |||
9502 | fi | ||
9503 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 | ||
9504 | $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } | ||
9505 | |||
9506 | if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then | ||
9507 | lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" | ||
9508 | else | ||
9509 | : | ||
9510 | fi | ||
9511 | |||
9512 | fi | ||
9513 | |||
9514 | |||
9515 | |||
9516 | |||
9517 | |||
9518 | |||
9519 | lt_prog_compiler_wl= | ||
9520 | lt_prog_compiler_pic= | ||
9521 | lt_prog_compiler_static= | ||
9522 | |||
9523 | |||
9524 | if test "$GCC" = yes; then | ||
9525 | lt_prog_compiler_wl='-Wl,' | ||
9526 | lt_prog_compiler_static='-static' | ||
9527 | |||
9528 | case $host_os in | ||
9529 | aix*) | ||
9530 | # All AIX code is PIC. | ||
9531 | if test "$host_cpu" = ia64; then | ||
9532 | # AIX 5 now supports IA64 processor | ||
9533 | lt_prog_compiler_static='-Bstatic' | ||
9534 | fi | ||
9535 | ;; | ||
9536 | |||
9537 | amigaos*) | ||
9538 | case $host_cpu in | ||
9539 | powerpc) | ||
9540 | # see comment about AmigaOS4 .so support | ||
9541 | lt_prog_compiler_pic='-fPIC' | ||
9542 | ;; | ||
9543 | m68k) | ||
9544 | # FIXME: we need at least 68020 code to build shared libraries, but | ||
9545 | # adding the `-m68020' flag to GCC prevents building anything better, | ||
9546 | # like `-m68040'. | ||
9547 | lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' | ||
9548 | ;; | ||
9549 | esac | ||
9550 | ;; | ||
9551 | |||
9552 | beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) | ||
9553 | # PIC is the default for these OSes. | ||
9554 | ;; | ||
9555 | |||
9556 | mingw* | cygwin* | pw32* | os2* | cegcc*) | ||
9557 | # This hack is so that the source file can tell whether it is being | ||
9558 | # built for inclusion in a dll (and should export symbols for example). | ||
9559 | # Although the cygwin gcc ignores -fPIC, still need this for old-style | ||
9560 | # (--disable-auto-import) libraries | ||
9561 | lt_prog_compiler_pic='-DDLL_EXPORT' | ||
9562 | ;; | ||
9563 | |||
9564 | darwin* | rhapsody*) | ||
9565 | # PIC is the default on this platform | ||
9566 | # Common symbols not allowed in MH_DYLIB files | ||
9567 | lt_prog_compiler_pic='-fno-common' | ||
9568 | ;; | ||
9569 | |||
9570 | haiku*) | ||
9571 | # PIC is the default for Haiku. | ||
9572 | # The "-static" flag exists, but is broken. | ||
9573 | lt_prog_compiler_static= | ||
9574 | ;; | ||
9575 | |||
9576 | hpux*) | ||
9577 | # PIC is the default for 64-bit PA HP-UX, but not for 32-bit | ||
9578 | # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag | ||
9579 | # sets the default TLS model and affects inlining. | ||
9580 | case $host_cpu in | ||
9581 | hppa*64*) | ||
9582 | # +Z the default | ||
9583 | ;; | ||
9584 | *) | ||
9585 | lt_prog_compiler_pic='-fPIC' | ||
9586 | ;; | ||
9587 | esac | ||
9588 | ;; | ||
9589 | |||
9590 | interix[3-9]*) | ||
9591 | # Interix 3.x gcc -fpic/-fPIC options generate broken code. | ||
9592 | # Instead, we relocate shared libraries at runtime. | ||
9593 | ;; | ||
9594 | |||
9595 | msdosdjgpp*) | ||
9596 | # Just because we use GCC doesn't mean we suddenly get shared libraries | ||
9597 | # on systems that don't support them. | ||
9598 | lt_prog_compiler_can_build_shared=no | ||
9599 | enable_shared=no | ||
9600 | ;; | ||
9601 | |||
9602 | *nto* | *qnx*) | ||
9603 | # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
9604 | # it will coredump. | ||
9605 | lt_prog_compiler_pic='-fPIC -shared' | ||
9606 | ;; | ||
9607 | |||
9608 | sysv4*MP*) | ||
9609 | if test -d /usr/nec; then | ||
9610 | lt_prog_compiler_pic=-Kconform_pic | ||
9611 | fi | ||
9612 | ;; | ||
9613 | |||
9614 | *) | ||
9615 | lt_prog_compiler_pic='-fPIC' | ||
9616 | ;; | ||
9617 | esac | ||
9618 | |||
9619 | case $cc_basename in | ||
9620 | nvcc*) # Cuda Compiler Driver 2.2 | ||
9621 | lt_prog_compiler_wl='-Xlinker ' | ||
9622 | if test -n "$lt_prog_compiler_pic"; then | ||
9623 | lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" | ||
9624 | fi | ||
9625 | ;; | ||
9626 | esac | ||
9627 | else | ||
9628 | # PORTME Check for flag to pass linker flags through the system compiler. | ||
9629 | case $host_os in | ||
9630 | aix*) | ||
9631 | lt_prog_compiler_wl='-Wl,' | ||
9632 | if test "$host_cpu" = ia64; then | ||
9633 | # AIX 5 now supports IA64 processor | ||
9634 | lt_prog_compiler_static='-Bstatic' | ||
9635 | else | ||
9636 | lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' | ||
9637 | fi | ||
9638 | ;; | ||
9639 | |||
9640 | mingw* | cygwin* | pw32* | os2* | cegcc*) | ||
9641 | # This hack is so that the source file can tell whether it is being | ||
9642 | # built for inclusion in a dll (and should export symbols for example). | ||
9643 | lt_prog_compiler_pic='-DDLL_EXPORT' | ||
9644 | ;; | ||
9645 | |||
9646 | hpux9* | hpux10* | hpux11*) | ||
9647 | lt_prog_compiler_wl='-Wl,' | ||
9648 | # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but | ||
9649 | # not for PA HP-UX. | ||
9650 | case $host_cpu in | ||
9651 | hppa*64*|ia64*) | ||
9652 | # +Z the default | ||
9653 | ;; | ||
9654 | *) | ||
9655 | lt_prog_compiler_pic='+Z' | ||
9656 | ;; | ||
9657 | esac | ||
9658 | # Is there a better lt_prog_compiler_static that works with the bundled CC? | ||
9659 | lt_prog_compiler_static='${wl}-a ${wl}archive' | ||
9660 | ;; | ||
9661 | |||
9662 | irix5* | irix6* | nonstopux*) | ||
9663 | lt_prog_compiler_wl='-Wl,' | ||
9664 | # PIC (with -KPIC) is the default. | ||
9665 | lt_prog_compiler_static='-non_shared' | ||
9666 | ;; | ||
9667 | |||
9668 | linux* | k*bsd*-gnu | kopensolaris*-gnu) | ||
9669 | case $cc_basename in | ||
9670 | # old Intel for x86_64 which still supported -KPIC. | ||
9671 | ecc*) | ||
9672 | lt_prog_compiler_wl='-Wl,' | ||
9673 | lt_prog_compiler_pic='-KPIC' | ||
9674 | lt_prog_compiler_static='-static' | ||
9675 | ;; | ||
9676 | # icc used to be incompatible with GCC. | ||
9677 | # ICC 10 doesn't accept -KPIC any more. | ||
9678 | icc* | ifort*) | ||
9679 | lt_prog_compiler_wl='-Wl,' | ||
9680 | lt_prog_compiler_pic='-fPIC' | ||
9681 | lt_prog_compiler_static='-static' | ||
9682 | ;; | ||
9683 | # Lahey Fortran 8.1. | ||
9684 | lf95*) | ||
9685 | lt_prog_compiler_wl='-Wl,' | ||
9686 | lt_prog_compiler_pic='--shared' | ||
9687 | lt_prog_compiler_static='--static' | ||
9688 | ;; | ||
9689 | nagfor*) | ||
9690 | # NAG Fortran compiler | ||
9691 | lt_prog_compiler_wl='-Wl,-Wl,,' | ||
9692 | lt_prog_compiler_pic='-PIC' | ||
9693 | lt_prog_compiler_static='-Bstatic' | ||
9694 | ;; | ||
9695 | pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) | ||
9696 | # Portland Group compilers (*not* the Pentium gcc compiler, | ||
9697 | # which looks to be a dead project) | ||
9698 | lt_prog_compiler_wl='-Wl,' | ||
9699 | lt_prog_compiler_pic='-fpic' | ||
9700 | lt_prog_compiler_static='-Bstatic' | ||
9701 | ;; | ||
9702 | ccc*) | ||
9703 | lt_prog_compiler_wl='-Wl,' | ||
9704 | # All Alpha code is PIC. | ||
9705 | lt_prog_compiler_static='-non_shared' | ||
9706 | ;; | ||
9707 | xl* | bgxl* | bgf* | mpixl*) | ||
9708 | # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene | ||
9709 | lt_prog_compiler_wl='-Wl,' | ||
9710 | lt_prog_compiler_pic='-qpic' | ||
9711 | lt_prog_compiler_static='-qstaticlink' | ||
9712 | ;; | ||
9713 | *) | ||
9714 | case `$CC -V 2>&1 | sed 5q` in | ||
9715 | *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) | ||
9716 | # Sun Fortran 8.3 passes all unrecognized flags to the linker | ||
9717 | lt_prog_compiler_pic='-KPIC' | ||
9718 | lt_prog_compiler_static='-Bstatic' | ||
9719 | lt_prog_compiler_wl='' | ||
9720 | ;; | ||
9721 | *Sun\ F* | *Sun*Fortran*) | ||
9722 | lt_prog_compiler_pic='-KPIC' | ||
9723 | lt_prog_compiler_static='-Bstatic' | ||
9724 | lt_prog_compiler_wl='-Qoption ld ' | ||
9725 | ;; | ||
9726 | *Sun\ C*) | ||
9727 | # Sun C 5.9 | ||
9728 | lt_prog_compiler_pic='-KPIC' | ||
9729 | lt_prog_compiler_static='-Bstatic' | ||
9730 | lt_prog_compiler_wl='-Wl,' | ||
9731 | ;; | ||
9732 | *Intel*\ [CF]*Compiler*) | ||
9733 | lt_prog_compiler_wl='-Wl,' | ||
9734 | lt_prog_compiler_pic='-fPIC' | ||
9735 | lt_prog_compiler_static='-static' | ||
9736 | ;; | ||
9737 | *Portland\ Group*) | ||
9738 | lt_prog_compiler_wl='-Wl,' | ||
9739 | lt_prog_compiler_pic='-fpic' | ||
9740 | lt_prog_compiler_static='-Bstatic' | ||
9741 | ;; | ||
9742 | esac | ||
9743 | ;; | ||
9744 | esac | ||
9745 | ;; | ||
9746 | |||
9747 | newsos6) | ||
9748 | lt_prog_compiler_pic='-KPIC' | ||
9749 | lt_prog_compiler_static='-Bstatic' | ||
9750 | ;; | ||
9751 | |||
9752 | *nto* | *qnx*) | ||
9753 | # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
9754 | # it will coredump. | ||
9755 | lt_prog_compiler_pic='-fPIC -shared' | ||
9756 | ;; | ||
9757 | |||
9758 | osf3* | osf4* | osf5*) | ||
9759 | lt_prog_compiler_wl='-Wl,' | ||
9760 | # All OSF/1 code is PIC. | ||
9761 | lt_prog_compiler_static='-non_shared' | ||
9762 | ;; | ||
9763 | |||
9764 | rdos*) | ||
9765 | lt_prog_compiler_static='-non_shared' | ||
9766 | ;; | ||
9767 | |||
9768 | solaris*) | ||
9769 | lt_prog_compiler_pic='-KPIC' | ||
9770 | lt_prog_compiler_static='-Bstatic' | ||
9771 | case $cc_basename in | ||
9772 | f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) | ||
9773 | lt_prog_compiler_wl='-Qoption ld ';; | ||
9774 | *) | ||
9775 | lt_prog_compiler_wl='-Wl,';; | ||
9776 | esac | ||
9777 | ;; | ||
9778 | |||
9779 | sunos4*) | ||
9780 | lt_prog_compiler_wl='-Qoption ld ' | ||
9781 | lt_prog_compiler_pic='-PIC' | ||
9782 | lt_prog_compiler_static='-Bstatic' | ||
9783 | ;; | ||
9784 | |||
9785 | sysv4 | sysv4.2uw2* | sysv4.3*) | ||
9786 | lt_prog_compiler_wl='-Wl,' | ||
9787 | lt_prog_compiler_pic='-KPIC' | ||
9788 | lt_prog_compiler_static='-Bstatic' | ||
9789 | ;; | ||
9790 | |||
9791 | sysv4*MP*) | ||
9792 | if test -d /usr/nec ;then | ||
9793 | lt_prog_compiler_pic='-Kconform_pic' | ||
9794 | lt_prog_compiler_static='-Bstatic' | ||
9795 | fi | ||
9796 | ;; | ||
9797 | |||
9798 | sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) | ||
9799 | lt_prog_compiler_wl='-Wl,' | ||
9800 | lt_prog_compiler_pic='-KPIC' | ||
9801 | lt_prog_compiler_static='-Bstatic' | ||
9802 | ;; | ||
9803 | |||
9804 | unicos*) | ||
9805 | lt_prog_compiler_wl='-Wl,' | ||
9806 | lt_prog_compiler_can_build_shared=no | ||
9807 | ;; | ||
9808 | |||
9809 | uts4*) | ||
9810 | lt_prog_compiler_pic='-pic' | ||
9811 | lt_prog_compiler_static='-Bstatic' | ||
9812 | ;; | ||
9813 | |||
9814 | *) | ||
9815 | lt_prog_compiler_can_build_shared=no | ||
9816 | ;; | ||
9817 | esac | ||
9818 | fi | ||
9819 | |||
9820 | case $host_os in | ||
9821 | # For platforms which do not support PIC, -DPIC is meaningless: | ||
9822 | *djgpp*) | ||
9823 | lt_prog_compiler_pic= | ||
9824 | ;; | ||
9825 | *) | ||
9826 | lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" | ||
9827 | ;; | ||
9828 | esac | ||
9829 | |||
9830 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 | ||
9831 | $as_echo_n "checking for $compiler option to produce PIC... " >&6; } | ||
9832 | if ${lt_cv_prog_compiler_pic+:} false; then : | ||
9833 | $as_echo_n "(cached) " >&6 | ||
9834 | else | ||
9835 | lt_cv_prog_compiler_pic=$lt_prog_compiler_pic | ||
9836 | fi | ||
9837 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 | ||
9838 | $as_echo "$lt_cv_prog_compiler_pic" >&6; } | ||
9839 | lt_prog_compiler_pic=$lt_cv_prog_compiler_pic | ||
9840 | |||
9841 | # | ||
9842 | # Check to make sure the PIC flag actually works. | ||
9843 | # | ||
9844 | if test -n "$lt_prog_compiler_pic"; then | ||
9845 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 | ||
9846 | $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } | ||
9847 | if ${lt_cv_prog_compiler_pic_works+:} false; then : | ||
9848 | $as_echo_n "(cached) " >&6 | ||
9849 | else | ||
9850 | lt_cv_prog_compiler_pic_works=no | ||
9851 | ac_outfile=conftest.$ac_objext | ||
9852 | echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
9853 | lt_compiler_flag="$lt_prog_compiler_pic -DPIC" | ||
9854 | # Insert the option either (1) after the last *FLAGS variable, or | ||
9855 | # (2) before a word containing "conftest.", or (3) at the end. | ||
9856 | # Note that $ac_compile itself does not contain backslashes and begins | ||
9857 | # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
9858 | # The option is referenced via a variable to avoid confusing sed. | ||
9859 | lt_compile=`echo "$ac_compile" | $SED \ | ||
9860 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
9861 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | ||
9862 | -e 's:$: $lt_compiler_flag:'` | ||
9863 | (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) | ||
9864 | (eval "$lt_compile" 2>conftest.err) | ||
9865 | ac_status=$? | ||
9866 | cat conftest.err >&5 | ||
9867 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9868 | if (exit $ac_status) && test -s "$ac_outfile"; then | ||
9869 | # The compiler can only warn and ignore the option if not recognized | ||
9870 | # So say no if there are warnings other than the usual output. | ||
9871 | $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp | ||
9872 | $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
9873 | if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then | ||
9874 | lt_cv_prog_compiler_pic_works=yes | ||
9875 | fi | ||
9876 | fi | ||
9877 | $RM conftest* | ||
9878 | |||
9879 | fi | ||
9880 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 | ||
9881 | $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } | ||
9882 | |||
9883 | if test x"$lt_cv_prog_compiler_pic_works" = xyes; then | ||
9884 | case $lt_prog_compiler_pic in | ||
9885 | "" | " "*) ;; | ||
9886 | *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; | ||
9887 | esac | ||
9888 | else | ||
9889 | lt_prog_compiler_pic= | ||
9890 | lt_prog_compiler_can_build_shared=no | ||
9891 | fi | ||
9892 | |||
9893 | fi | ||
9894 | |||
9895 | |||
9896 | |||
9897 | |||
9898 | |||
9899 | |||
9900 | |||
9901 | |||
9902 | |||
9903 | |||
9904 | |||
9905 | # | ||
9906 | # Check to make sure the static flag actually works. | ||
9907 | # | ||
9908 | wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" | ||
9909 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 | ||
9910 | $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } | ||
9911 | if ${lt_cv_prog_compiler_static_works+:} false; then : | ||
9912 | $as_echo_n "(cached) " >&6 | ||
9913 | else | ||
9914 | lt_cv_prog_compiler_static_works=no | ||
9915 | save_LDFLAGS="$LDFLAGS" | ||
9916 | LDFLAGS="$LDFLAGS $lt_tmp_static_flag" | ||
9917 | echo "$lt_simple_link_test_code" > conftest.$ac_ext | ||
9918 | if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then | ||
9919 | # The linker can only warn and ignore the option if not recognized | ||
9920 | # So say no if there are warnings | ||
9921 | if test -s conftest.err; then | ||
9922 | # Append any errors to the config.log. | ||
9923 | cat conftest.err 1>&5 | ||
9924 | $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp | ||
9925 | $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
9926 | if diff conftest.exp conftest.er2 >/dev/null; then | ||
9927 | lt_cv_prog_compiler_static_works=yes | ||
9928 | fi | ||
9929 | else | ||
9930 | lt_cv_prog_compiler_static_works=yes | ||
9931 | fi | ||
9932 | fi | ||
9933 | $RM -r conftest* | ||
9934 | LDFLAGS="$save_LDFLAGS" | ||
9935 | |||
9936 | fi | ||
9937 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 | ||
9938 | $as_echo "$lt_cv_prog_compiler_static_works" >&6; } | ||
9939 | |||
9940 | if test x"$lt_cv_prog_compiler_static_works" = xyes; then | ||
9941 | : | ||
9942 | else | ||
9943 | lt_prog_compiler_static= | ||
9944 | fi | ||
9945 | |||
9946 | |||
9947 | |||
9948 | |||
9949 | |||
9950 | |||
9951 | |||
9952 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 | ||
9953 | $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } | ||
9954 | if ${lt_cv_prog_compiler_c_o+:} false; then : | ||
9955 | $as_echo_n "(cached) " >&6 | ||
9956 | else | ||
9957 | lt_cv_prog_compiler_c_o=no | ||
9958 | $RM -r conftest 2>/dev/null | ||
9959 | mkdir conftest | ||
9960 | cd conftest | ||
9961 | mkdir out | ||
9962 | echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
9963 | |||
9964 | lt_compiler_flag="-o out/conftest2.$ac_objext" | ||
9965 | # Insert the option either (1) after the last *FLAGS variable, or | ||
9966 | # (2) before a word containing "conftest.", or (3) at the end. | ||
9967 | # Note that $ac_compile itself does not contain backslashes and begins | ||
9968 | # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
9969 | lt_compile=`echo "$ac_compile" | $SED \ | ||
9970 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
9971 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | ||
9972 | -e 's:$: $lt_compiler_flag:'` | ||
9973 | (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) | ||
9974 | (eval "$lt_compile" 2>out/conftest.err) | ||
9975 | ac_status=$? | ||
9976 | cat out/conftest.err >&5 | ||
9977 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
9978 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | ||
9979 | then | ||
9980 | # The compiler can only warn and ignore the option if not recognized | ||
9981 | # So say no if there are warnings | ||
9982 | $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp | ||
9983 | $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 | ||
9984 | if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then | ||
9985 | lt_cv_prog_compiler_c_o=yes | ||
9986 | fi | ||
9987 | fi | ||
9988 | chmod u+w . 2>&5 | ||
9989 | $RM conftest* | ||
9990 | # SGI C++ compiler will create directory out/ii_files/ for | ||
9991 | # template instantiation | ||
9992 | test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files | ||
9993 | $RM out/* && rmdir out | ||
9994 | cd .. | ||
9995 | $RM -r conftest | ||
9996 | $RM conftest* | ||
9997 | |||
9998 | fi | ||
9999 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 | ||
10000 | $as_echo "$lt_cv_prog_compiler_c_o" >&6; } | ||
10001 | |||
10002 | |||
10003 | |||
10004 | |||
10005 | |||
10006 | |||
10007 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 | ||
10008 | $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } | ||
10009 | if ${lt_cv_prog_compiler_c_o+:} false; then : | ||
10010 | $as_echo_n "(cached) " >&6 | ||
10011 | else | ||
10012 | lt_cv_prog_compiler_c_o=no | ||
10013 | $RM -r conftest 2>/dev/null | ||
10014 | mkdir conftest | ||
10015 | cd conftest | ||
10016 | mkdir out | ||
10017 | echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
10018 | |||
10019 | lt_compiler_flag="-o out/conftest2.$ac_objext" | ||
10020 | # Insert the option either (1) after the last *FLAGS variable, or | ||
10021 | # (2) before a word containing "conftest.", or (3) at the end. | ||
10022 | # Note that $ac_compile itself does not contain backslashes and begins | ||
10023 | # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
10024 | lt_compile=`echo "$ac_compile" | $SED \ | ||
10025 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
10026 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | ||
10027 | -e 's:$: $lt_compiler_flag:'` | ||
10028 | (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) | ||
10029 | (eval "$lt_compile" 2>out/conftest.err) | ||
10030 | ac_status=$? | ||
10031 | cat out/conftest.err >&5 | ||
10032 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
10033 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | ||
10034 | then | ||
10035 | # The compiler can only warn and ignore the option if not recognized | ||
10036 | # So say no if there are warnings | ||
10037 | $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp | ||
10038 | $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 | ||
10039 | if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then | ||
10040 | lt_cv_prog_compiler_c_o=yes | ||
10041 | fi | ||
10042 | fi | ||
10043 | chmod u+w . 2>&5 | ||
10044 | $RM conftest* | ||
10045 | # SGI C++ compiler will create directory out/ii_files/ for | ||
10046 | # template instantiation | ||
10047 | test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files | ||
10048 | $RM out/* && rmdir out | ||
10049 | cd .. | ||
10050 | $RM -r conftest | ||
10051 | $RM conftest* | ||
10052 | |||
10053 | fi | ||
10054 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 | ||
10055 | $as_echo "$lt_cv_prog_compiler_c_o" >&6; } | ||
10056 | |||
10057 | |||
10058 | |||
10059 | |||
10060 | hard_links="nottested" | ||
10061 | if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then | ||
10062 | # do not overwrite the value of need_locks provided by the user | ||
10063 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 | ||
10064 | $as_echo_n "checking if we can lock with hard links... " >&6; } | ||
10065 | hard_links=yes | ||
10066 | $RM conftest* | ||
10067 | ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
10068 | touch conftest.a | ||
10069 | ln conftest.a conftest.b 2>&5 || hard_links=no | ||
10070 | ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
10071 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 | ||
10072 | $as_echo "$hard_links" >&6; } | ||
10073 | if test "$hard_links" = no; then | ||
10074 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 | ||
10075 | $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} | ||
10076 | need_locks=warn | ||
10077 | fi | ||
10078 | else | ||
10079 | need_locks=no | ||
10080 | fi | ||
10081 | |||
10082 | |||
10083 | |||
10084 | |||
10085 | |||
10086 | |||
10087 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 | ||
10088 | $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } | ||
10089 | |||
10090 | runpath_var= | ||
10091 | allow_undefined_flag= | ||
10092 | always_export_symbols=no | ||
10093 | archive_cmds= | ||
10094 | archive_expsym_cmds= | ||
10095 | compiler_needs_object=no | ||
10096 | enable_shared_with_static_runtimes=no | ||
10097 | export_dynamic_flag_spec= | ||
10098 | export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
10099 | hardcode_automatic=no | ||
10100 | hardcode_direct=no | ||
10101 | hardcode_direct_absolute=no | ||
10102 | hardcode_libdir_flag_spec= | ||
10103 | hardcode_libdir_separator= | ||
10104 | hardcode_minus_L=no | ||
10105 | hardcode_shlibpath_var=unsupported | ||
10106 | inherit_rpath=no | ||
10107 | link_all_deplibs=unknown | ||
10108 | module_cmds= | ||
10109 | module_expsym_cmds= | ||
10110 | old_archive_from_new_cmds= | ||
10111 | old_archive_from_expsyms_cmds= | ||
10112 | thread_safe_flag_spec= | ||
10113 | whole_archive_flag_spec= | ||
10114 | # include_expsyms should be a list of space-separated symbols to be *always* | ||
10115 | # included in the symbol list | ||
10116 | include_expsyms= | ||
10117 | # exclude_expsyms can be an extended regexp of symbols to exclude | ||
10118 | # it will be wrapped by ` (' and `)$', so one must not match beginning or | ||
10119 | # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', | ||
10120 | # as well as any symbol that contains `d'. | ||
10121 | exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' | ||
10122 | # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out | ||
10123 | # platforms (ab)use it in PIC code, but their linkers get confused if | ||
10124 | # the symbol is explicitly referenced. Since portable code cannot | ||
10125 | # rely on this symbol name, it's probably fine to never include it in | ||
10126 | # preloaded symbol tables. | ||
10127 | # Exclude shared library initialization/finalization symbols. | ||
10128 | extract_expsyms_cmds= | ||
10129 | |||
10130 | case $host_os in | ||
10131 | cygwin* | mingw* | pw32* | cegcc*) | ||
10132 | # FIXME: the MSVC++ port hasn't been tested in a loooong time | ||
10133 | # When not using gcc, we currently assume that we are using | ||
10134 | # Microsoft Visual C++. | ||
10135 | if test "$GCC" != yes; then | ||
10136 | with_gnu_ld=no | ||
10137 | fi | ||
10138 | ;; | ||
10139 | interix*) | ||
10140 | # we just hope/assume this is gcc and not c89 (= MSVC++) | ||
10141 | with_gnu_ld=yes | ||
10142 | ;; | ||
10143 | openbsd*) | ||
10144 | with_gnu_ld=no | ||
10145 | ;; | ||
10146 | esac | ||
10147 | |||
10148 | ld_shlibs=yes | ||
10149 | |||
10150 | # On some targets, GNU ld is compatible enough with the native linker | ||
10151 | # that we're better off using the native interface for both. | ||
10152 | lt_use_gnu_ld_interface=no | ||
10153 | if test "$with_gnu_ld" = yes; then | ||
10154 | case $host_os in | ||
10155 | aix*) | ||
10156 | # The AIX port of GNU ld has always aspired to compatibility | ||
10157 | # with the native linker. However, as the warning in the GNU ld | ||
10158 | # block says, versions before 2.19.5* couldn't really create working | ||
10159 | # shared libraries, regardless of the interface used. | ||
10160 | case `$LD -v 2>&1` in | ||
10161 | *\ \(GNU\ Binutils\)\ 2.19.5*) ;; | ||
10162 | *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; | ||
10163 | *\ \(GNU\ Binutils\)\ [3-9]*) ;; | ||
10164 | *) | ||
10165 | lt_use_gnu_ld_interface=yes | ||
10166 | ;; | ||
10167 | esac | ||
10168 | ;; | ||
10169 | *) | ||
10170 | lt_use_gnu_ld_interface=yes | ||
10171 | ;; | ||
10172 | esac | ||
10173 | fi | ||
10174 | |||
10175 | if test "$lt_use_gnu_ld_interface" = yes; then | ||
10176 | # If archive_cmds runs LD, not CC, wlarc should be empty | ||
10177 | wlarc='${wl}' | ||
10178 | |||
10179 | # Set some defaults for GNU ld with shared library support. These | ||
10180 | # are reset later if shared libraries are not supported. Putting them | ||
10181 | # here allows them to be overridden if necessary. | ||
10182 | runpath_var=LD_RUN_PATH | ||
10183 | hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' | ||
10184 | export_dynamic_flag_spec='${wl}--export-dynamic' | ||
10185 | # ancient GNU ld didn't support --whole-archive et. al. | ||
10186 | if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then | ||
10187 | whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
10188 | else | ||
10189 | whole_archive_flag_spec= | ||
10190 | fi | ||
10191 | supports_anon_versioning=no | ||
10192 | case `$LD -v 2>&1` in | ||
10193 | *GNU\ gold*) supports_anon_versioning=yes ;; | ||
10194 | *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 | ||
10195 | *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... | ||
10196 | *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... | ||
10197 | *\ 2.11.*) ;; # other 2.11 versions | ||
10198 | *) supports_anon_versioning=yes ;; | ||
10199 | esac | ||
10200 | |||
10201 | # See if GNU ld supports shared libraries. | ||
10202 | case $host_os in | ||
10203 | aix[3-9]*) | ||
10204 | # On AIX/PPC, the GNU linker is very broken | ||
10205 | if test "$host_cpu" != ia64; then | ||
10206 | ld_shlibs=no | ||
10207 | cat <<_LT_EOF 1>&2 | ||
10208 | |||
10209 | *** Warning: the GNU linker, at least up to release 2.19, is reported | ||
10210 | *** to be unable to reliably create shared libraries on AIX. | ||
10211 | *** Therefore, libtool is disabling shared libraries support. If you | ||
10212 | *** really care for shared libraries, you may want to install binutils | ||
10213 | *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. | ||
10214 | *** You will then need to restart the configuration process. | ||
10215 | |||
10216 | _LT_EOF | ||
10217 | fi | ||
10218 | ;; | ||
10219 | |||
10220 | amigaos*) | ||
10221 | case $host_cpu in | ||
10222 | powerpc) | ||
10223 | # see comment about AmigaOS4 .so support | ||
10224 | archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
10225 | archive_expsym_cmds='' | ||
10226 | ;; | ||
10227 | m68k) | ||
10228 | archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' | ||
10229 | hardcode_libdir_flag_spec='-L$libdir' | ||
10230 | hardcode_minus_L=yes | ||
10231 | ;; | ||
10232 | esac | ||
10233 | ;; | ||
10234 | |||
10235 | beos*) | ||
10236 | if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
10237 | allow_undefined_flag=unsupported | ||
10238 | # Joseph Beckenbach <jrb3@best.com> says some releases of gcc | ||
10239 | # support --undefined. This deserves some investigation. FIXME | ||
10240 | archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
10241 | else | ||
10242 | ld_shlibs=no | ||
10243 | fi | ||
10244 | ;; | ||
10245 | |||
10246 | cygwin* | mingw* | pw32* | cegcc*) | ||
10247 | # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, | ||
10248 | # as there is no search path for DLLs. | ||
10249 | hardcode_libdir_flag_spec='-L$libdir' | ||
10250 | export_dynamic_flag_spec='${wl}--export-all-symbols' | ||
10251 | allow_undefined_flag=unsupported | ||
10252 | always_export_symbols=no | ||
10253 | enable_shared_with_static_runtimes=yes | ||
10254 | export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' | ||
10255 | exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' | ||
10256 | |||
10257 | if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then | ||
10258 | archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' | ||
10259 | # If the export-symbols file already is a .def file (1st line | ||
10260 | # is EXPORTS), use it as is; otherwise, prepend... | ||
10261 | archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then | ||
10262 | cp $export_symbols $output_objdir/$soname.def; | ||
10263 | else | ||
10264 | echo EXPORTS > $output_objdir/$soname.def; | ||
10265 | cat $export_symbols >> $output_objdir/$soname.def; | ||
10266 | fi~ | ||
10267 | $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' | ||
10268 | else | ||
10269 | ld_shlibs=no | ||
10270 | fi | ||
10271 | ;; | ||
10272 | |||
10273 | haiku*) | ||
10274 | archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
10275 | link_all_deplibs=yes | ||
10276 | ;; | ||
10277 | |||
10278 | interix[3-9]*) | ||
10279 | hardcode_direct=no | ||
10280 | hardcode_shlibpath_var=no | ||
10281 | hardcode_libdir_flag_spec='${wl}-rpath,$libdir' | ||
10282 | export_dynamic_flag_spec='${wl}-E' | ||
10283 | # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. | ||
10284 | # Instead, shared libraries are loaded at an image base (0x10000000 by | ||
10285 | # default) and relocated if they conflict, which is a slow very memory | ||
10286 | # consuming and fragmenting process. To avoid this, we pick a random, | ||
10287 | # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link | ||
10288 | # time. Moving up from 0x10000000 also allows more sbrk(2) space. | ||
10289 | archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' | ||
10290 | archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' | ||
10291 | ;; | ||
10292 | |||
10293 | gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) | ||
10294 | tmp_diet=no | ||
10295 | if test "$host_os" = linux-dietlibc; then | ||
10296 | case $cc_basename in | ||
10297 | diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) | ||
10298 | esac | ||
10299 | fi | ||
10300 | if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ | ||
10301 | && test "$tmp_diet" = no | ||
10302 | then | ||
10303 | tmp_addflag=' $pic_flag' | ||
10304 | tmp_sharedflag='-shared' | ||
10305 | case $cc_basename,$host_cpu in | ||
10306 | pgcc*) # Portland Group C compiler | ||
10307 | whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' | ||
10308 | tmp_addflag=' $pic_flag' | ||
10309 | ;; | ||
10310 | pgf77* | pgf90* | pgf95* | pgfortran*) | ||
10311 | # Portland Group f77 and f90 compilers | ||
10312 | whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' | ||
10313 | tmp_addflag=' $pic_flag -Mnomain' ;; | ||
10314 | ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 | ||
10315 | tmp_addflag=' -i_dynamic' ;; | ||
10316 | efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 | ||
10317 | tmp_addflag=' -i_dynamic -nofor_main' ;; | ||
10318 | ifc* | ifort*) # Intel Fortran compiler | ||
10319 | tmp_addflag=' -nofor_main' ;; | ||
10320 | lf95*) # Lahey Fortran 8.1 | ||
10321 | whole_archive_flag_spec= | ||
10322 | tmp_sharedflag='--shared' ;; | ||
10323 | xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) | ||
10324 | tmp_sharedflag='-qmkshrobj' | ||
10325 | tmp_addflag= ;; | ||
10326 | nvcc*) # Cuda Compiler Driver 2.2 | ||
10327 | whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' | ||
10328 | compiler_needs_object=yes | ||
10329 | ;; | ||
10330 | esac | ||
10331 | case `$CC -V 2>&1 | sed 5q` in | ||
10332 | *Sun\ C*) # Sun C 5.9 | ||
10333 | whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' | ||
10334 | compiler_needs_object=yes | ||
10335 | tmp_sharedflag='-G' ;; | ||
10336 | *Sun\ F*) # Sun Fortran 8.3 | ||
10337 | tmp_sharedflag='-G' ;; | ||
10338 | esac | ||
10339 | archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
10340 | |||
10341 | if test "x$supports_anon_versioning" = xyes; then | ||
10342 | archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ | ||
10343 | cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
10344 | echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
10345 | $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' | ||
10346 | fi | ||
10347 | |||
10348 | case $cc_basename in | ||
10349 | xlf* | bgf* | bgxlf* | mpixlf*) | ||
10350 | # IBM XL Fortran 10.1 on PPC cannot create shared libs itself | ||
10351 | whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' | ||
10352 | hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' | ||
10353 | archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' | ||
10354 | if test "x$supports_anon_versioning" = xyes; then | ||
10355 | archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ | ||
10356 | cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
10357 | echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
10358 | $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' | ||
10359 | fi | ||
10360 | ;; | ||
10361 | esac | ||
10362 | else | ||
10363 | ld_shlibs=no | ||
10364 | fi | ||
10365 | ;; | ||
10366 | |||
10367 | netbsd*) | ||
10368 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
10369 | archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' | ||
10370 | wlarc= | ||
10371 | else | ||
10372 | archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
10373 | archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | ||
10374 | fi | ||
10375 | ;; | ||
10376 | |||
10377 | solaris*) | ||
10378 | if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then | ||
10379 | ld_shlibs=no | ||
10380 | cat <<_LT_EOF 1>&2 | ||
10381 | |||
10382 | *** Warning: The releases 2.8.* of the GNU linker cannot reliably | ||
10383 | *** create shared libraries on Solaris systems. Therefore, libtool | ||
10384 | *** is disabling shared libraries support. We urge you to upgrade GNU | ||
10385 | *** binutils to release 2.9.1 or newer. Another option is to modify | ||
10386 | *** your PATH or compiler configuration so that the native linker is | ||
10387 | *** used, and then restart. | ||
10388 | |||
10389 | _LT_EOF | ||
10390 | elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
10391 | archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
10392 | archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | ||
10393 | else | ||
10394 | ld_shlibs=no | ||
10395 | fi | ||
10396 | ;; | ||
10397 | |||
10398 | sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) | ||
10399 | case `$LD -v 2>&1` in | ||
10400 | *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) | ||
10401 | ld_shlibs=no | ||
10402 | cat <<_LT_EOF 1>&2 | ||
10403 | |||
10404 | *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not | ||
10405 | *** reliably create shared libraries on SCO systems. Therefore, libtool | ||
10406 | *** is disabling shared libraries support. We urge you to upgrade GNU | ||
10407 | *** binutils to release 2.16.91.0.3 or newer. Another option is to modify | ||
10408 | *** your PATH or compiler configuration so that the native linker is | ||
10409 | *** used, and then restart. | ||
10410 | |||
10411 | _LT_EOF | ||
10412 | ;; | ||
10413 | *) | ||
10414 | # For security reasons, it is highly recommended that you always | ||
10415 | # use absolute paths for naming shared libraries, and exclude the | ||
10416 | # DT_RUNPATH tag from executables and libraries. But doing so | ||
10417 | # requires that you compile everything twice, which is a pain. | ||
10418 | if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
10419 | hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' | ||
10420 | archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
10421 | archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | ||
10422 | else | ||
10423 | ld_shlibs=no | ||
10424 | fi | ||
10425 | ;; | ||
10426 | esac | ||
10427 | ;; | ||
10428 | |||
10429 | sunos4*) | ||
10430 | archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
10431 | wlarc= | ||
10432 | hardcode_direct=yes | ||
10433 | hardcode_shlibpath_var=no | ||
10434 | ;; | ||
10435 | |||
10436 | *) | ||
10437 | if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
10438 | archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
10439 | archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | ||
10440 | else | ||
10441 | ld_shlibs=no | ||
10442 | fi | ||
10443 | ;; | ||
10444 | esac | ||
10445 | |||
10446 | if test "$ld_shlibs" = no; then | ||
10447 | runpath_var= | ||
10448 | hardcode_libdir_flag_spec= | ||
10449 | export_dynamic_flag_spec= | ||
10450 | whole_archive_flag_spec= | ||
10451 | fi | ||
10452 | else | ||
10453 | # PORTME fill in a description of your system's linker (not GNU ld) | ||
10454 | case $host_os in | ||
10455 | aix3*) | ||
10456 | allow_undefined_flag=unsupported | ||
10457 | always_export_symbols=yes | ||
10458 | archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' | ||
10459 | # Note: this linker hardcodes the directories in LIBPATH if there | ||
10460 | # are no directories specified by -L. | ||
10461 | hardcode_minus_L=yes | ||
10462 | if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then | ||
10463 | # Neither direct hardcoding nor static linking is supported with a | ||
10464 | # broken collect2. | ||
10465 | hardcode_direct=unsupported | ||
10466 | fi | ||
10467 | ;; | ||
10468 | |||
10469 | aix[4-9]*) | ||
10470 | if test "$host_cpu" = ia64; then | ||
10471 | # On IA64, the linker does run time linking by default, so we don't | ||
10472 | # have to do anything special. | ||
10473 | aix_use_runtimelinking=no | ||
10474 | exp_sym_flag='-Bexport' | ||
10475 | no_entry_flag="" | ||
10476 | else | ||
10477 | # If we're using GNU nm, then we don't want the "-C" option. | ||
10478 | # -C means demangle to AIX nm, but means don't demangle with GNU nm | ||
10479 | # Also, AIX nm treats weak defined symbols like other global | ||
10480 | # defined symbols, whereas GNU nm marks them as "W". | ||
10481 | if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | ||
10482 | export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
10483 | else | ||
10484 | export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
10485 | fi | ||
10486 | aix_use_runtimelinking=no | ||
10487 | |||
10488 | # Test if we are trying to use run time linking or normal | ||
10489 | # AIX style linking. If -brtl is somewhere in LDFLAGS, we | ||
10490 | # need to do runtime linking. | ||
10491 | case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) | ||
10492 | for ld_flag in $LDFLAGS; do | ||
10493 | if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then | ||
10494 | aix_use_runtimelinking=yes | ||
10495 | break | ||
10496 | fi | ||
10497 | done | ||
10498 | ;; | ||
10499 | esac | ||
10500 | |||
10501 | exp_sym_flag='-bexport' | ||
10502 | no_entry_flag='-bnoentry' | ||
10503 | fi | ||
10504 | |||
10505 | # When large executables or shared objects are built, AIX ld can | ||
10506 | # have problems creating the table of contents. If linking a library | ||
10507 | # or program results in "error TOC overflow" add -mminimal-toc to | ||
10508 | # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not | ||
10509 | # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. | ||
10510 | |||
10511 | archive_cmds='' | ||
10512 | hardcode_direct=yes | ||
10513 | hardcode_direct_absolute=yes | ||
10514 | hardcode_libdir_separator=':' | ||
10515 | link_all_deplibs=yes | ||
10516 | file_list_spec='${wl}-f,' | ||
10517 | |||
10518 | if test "$GCC" = yes; then | ||
10519 | case $host_os in aix4.[012]|aix4.[012].*) | ||
10520 | # We only want to do this on AIX 4.2 and lower, the check | ||
10521 | # below for broken collect2 doesn't work under 4.3+ | ||
10522 | collect2name=`${CC} -print-prog-name=collect2` | ||
10523 | if test -f "$collect2name" && | ||
10524 | strings "$collect2name" | $GREP resolve_lib_name >/dev/null | ||
10525 | then | ||
10526 | # We have reworked collect2 | ||
10527 | : | ||
10528 | else | ||
10529 | # We have old collect2 | ||
10530 | hardcode_direct=unsupported | ||
10531 | # It fails to find uninstalled libraries when the uninstalled | ||
10532 | # path is not listed in the libpath. Setting hardcode_minus_L | ||
10533 | # to unsupported forces relinking | ||
10534 | hardcode_minus_L=yes | ||
10535 | hardcode_libdir_flag_spec='-L$libdir' | ||
10536 | hardcode_libdir_separator= | ||
10537 | fi | ||
10538 | ;; | ||
10539 | esac | ||
10540 | shared_flag='-shared' | ||
10541 | if test "$aix_use_runtimelinking" = yes; then | ||
10542 | shared_flag="$shared_flag "'${wl}-G' | ||
10543 | fi | ||
10544 | else | ||
10545 | # not using gcc | ||
10546 | if test "$host_cpu" = ia64; then | ||
10547 | # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release | ||
10548 | # chokes on -Wl,-G. The following line is correct: | ||
10549 | shared_flag='-G' | ||
10550 | else | ||
10551 | if test "$aix_use_runtimelinking" = yes; then | ||
10552 | shared_flag='${wl}-G' | ||
10553 | else | ||
10554 | shared_flag='${wl}-bM:SRE' | ||
10555 | fi | ||
10556 | fi | ||
10557 | fi | ||
10558 | |||
10559 | export_dynamic_flag_spec='${wl}-bexpall' | ||
10560 | # It seems that -bexpall does not export symbols beginning with | ||
10561 | # underscore (_), so it is better to generate a list of symbols to export. | ||
10562 | always_export_symbols=yes | ||
10563 | if test "$aix_use_runtimelinking" = yes; then | ||
10564 | # Warning - without using the other runtime loading flags (-brtl), | ||
10565 | # -berok will link without error, but may produce a broken library. | ||
10566 | allow_undefined_flag='-berok' | ||
10567 | # Determine the default libpath from the value encoded in an | ||
10568 | # empty executable. | ||
10569 | if test "${lt_cv_aix_libpath+set}" = set; then | ||
10570 | aix_libpath=$lt_cv_aix_libpath | ||
10571 | else | ||
10572 | if ${lt_cv_aix_libpath_+:} false; then : | ||
10573 | $as_echo_n "(cached) " >&6 | ||
10574 | else | ||
10575 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
10576 | /* end confdefs.h. */ | ||
10577 | |||
10578 | int | ||
10579 | main () | ||
10580 | { | ||
10581 | |||
10582 | ; | ||
10583 | return 0; | ||
10584 | } | ||
10585 | _ACEOF | ||
10586 | if ac_fn_c_try_link "$LINENO"; then : | ||
10587 | |||
10588 | lt_aix_libpath_sed=' | ||
10589 | /Import File Strings/,/^$/ { | ||
10590 | /^0/ { | ||
10591 | s/^0 *\([^ ]*\) *$/\1/ | ||
10592 | p | ||
10593 | } | ||
10594 | }' | ||
10595 | lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
10596 | # Check for a 64-bit object if we didn't find anything. | ||
10597 | if test -z "$lt_cv_aix_libpath_"; then | ||
10598 | lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
10599 | fi | ||
10600 | fi | ||
10601 | rm -f core conftest.err conftest.$ac_objext \ | ||
10602 | conftest$ac_exeext conftest.$ac_ext | ||
10603 | if test -z "$lt_cv_aix_libpath_"; then | ||
10604 | lt_cv_aix_libpath_="/usr/lib:/lib" | ||
10605 | fi | ||
10606 | |||
10607 | fi | ||
10608 | |||
10609 | aix_libpath=$lt_cv_aix_libpath_ | ||
10610 | fi | ||
10611 | |||
10612 | hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
10613 | archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" | ||
10614 | else | ||
10615 | if test "$host_cpu" = ia64; then | ||
10616 | hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' | ||
10617 | allow_undefined_flag="-z nodefs" | ||
10618 | archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" | ||
10619 | else | ||
10620 | # Determine the default libpath from the value encoded in an | ||
10621 | # empty executable. | ||
10622 | if test "${lt_cv_aix_libpath+set}" = set; then | ||
10623 | aix_libpath=$lt_cv_aix_libpath | ||
10624 | else | ||
10625 | if ${lt_cv_aix_libpath_+:} false; then : | ||
10626 | $as_echo_n "(cached) " >&6 | ||
10627 | else | ||
10628 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
10629 | /* end confdefs.h. */ | ||
10630 | |||
10631 | int | ||
10632 | main () | ||
10633 | { | ||
10634 | |||
10635 | ; | ||
10636 | return 0; | ||
10637 | } | ||
10638 | _ACEOF | ||
10639 | if ac_fn_c_try_link "$LINENO"; then : | ||
10640 | |||
10641 | lt_aix_libpath_sed=' | ||
10642 | /Import File Strings/,/^$/ { | ||
10643 | /^0/ { | ||
10644 | s/^0 *\([^ ]*\) *$/\1/ | ||
10645 | p | ||
10646 | } | ||
10647 | }' | ||
10648 | lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
10649 | # Check for a 64-bit object if we didn't find anything. | ||
10650 | if test -z "$lt_cv_aix_libpath_"; then | ||
10651 | lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
10652 | fi | ||
10653 | fi | ||
10654 | rm -f core conftest.err conftest.$ac_objext \ | ||
10655 | conftest$ac_exeext conftest.$ac_ext | ||
10656 | if test -z "$lt_cv_aix_libpath_"; then | ||
10657 | lt_cv_aix_libpath_="/usr/lib:/lib" | ||
10658 | fi | ||
10659 | |||
10660 | fi | ||
10661 | |||
10662 | aix_libpath=$lt_cv_aix_libpath_ | ||
10663 | fi | ||
10664 | |||
10665 | hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
10666 | # Warning - without using the other run time loading flags, | ||
10667 | # -berok will link without error, but may produce a broken library. | ||
10668 | no_undefined_flag=' ${wl}-bernotok' | ||
10669 | allow_undefined_flag=' ${wl}-berok' | ||
10670 | if test "$with_gnu_ld" = yes; then | ||
10671 | # We only use this code for GNU lds that support --whole-archive. | ||
10672 | whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' | ||
10673 | else | ||
10674 | # Exported symbols can be pulled into shared objects from archives | ||
10675 | whole_archive_flag_spec='$convenience' | ||
10676 | fi | ||
10677 | archive_cmds_need_lc=yes | ||
10678 | # This is similar to how AIX traditionally builds its shared libraries. | ||
10679 | archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' | ||
10680 | fi | ||
10681 | fi | ||
10682 | ;; | ||
10683 | |||
10684 | amigaos*) | ||
10685 | case $host_cpu in | ||
10686 | powerpc) | ||
10687 | # see comment about AmigaOS4 .so support | ||
10688 | archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
10689 | archive_expsym_cmds='' | ||
10690 | ;; | ||
10691 | m68k) | ||
10692 | archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' | ||
10693 | hardcode_libdir_flag_spec='-L$libdir' | ||
10694 | hardcode_minus_L=yes | ||
10695 | ;; | ||
10696 | esac | ||
10697 | ;; | ||
10698 | |||
10699 | bsdi[45]*) | ||
10700 | export_dynamic_flag_spec=-rdynamic | ||
10701 | ;; | ||
10702 | |||
10703 | cygwin* | mingw* | pw32* | cegcc*) | ||
10704 | # When not using gcc, we currently assume that we are using | ||
10705 | # Microsoft Visual C++. | ||
10706 | # hardcode_libdir_flag_spec is actually meaningless, as there is | ||
10707 | # no search path for DLLs. | ||
10708 | case $cc_basename in | ||
10709 | cl*) | ||
10710 | # Native MSVC | ||
10711 | hardcode_libdir_flag_spec=' ' | ||
10712 | allow_undefined_flag=unsupported | ||
10713 | always_export_symbols=yes | ||
10714 | file_list_spec='@' | ||
10715 | # Tell ltmain to make .lib files, not .a files. | ||
10716 | libext=lib | ||
10717 | # Tell ltmain to make .dll files, not .so files. | ||
10718 | shrext_cmds=".dll" | ||
10719 | # FIXME: Setting linknames here is a bad hack. | ||
10720 | archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' | ||
10721 | archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then | ||
10722 | sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; | ||
10723 | else | ||
10724 | sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; | ||
10725 | fi~ | ||
10726 | $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ | ||
10727 | linknames=' | ||
10728 | # The linker will not automatically build a static lib if we build a DLL. | ||
10729 | # _LT_TAGVAR(old_archive_from_new_cmds, )='true' | ||
10730 | enable_shared_with_static_runtimes=yes | ||
10731 | exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' | ||
10732 | export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' | ||
10733 | # Don't use ranlib | ||
10734 | old_postinstall_cmds='chmod 644 $oldlib' | ||
10735 | postlink_cmds='lt_outputfile="@OUTPUT@"~ | ||
10736 | lt_tool_outputfile="@TOOL_OUTPUT@"~ | ||
10737 | case $lt_outputfile in | ||
10738 | *.exe|*.EXE) ;; | ||
10739 | *) | ||
10740 | lt_outputfile="$lt_outputfile.exe" | ||
10741 | lt_tool_outputfile="$lt_tool_outputfile.exe" | ||
10742 | ;; | ||
10743 | esac~ | ||
10744 | if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then | ||
10745 | $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; | ||
10746 | $RM "$lt_outputfile.manifest"; | ||
10747 | fi' | ||
10748 | ;; | ||
10749 | *) | ||
10750 | # Assume MSVC wrapper | ||
10751 | hardcode_libdir_flag_spec=' ' | ||
10752 | allow_undefined_flag=unsupported | ||
10753 | # Tell ltmain to make .lib files, not .a files. | ||
10754 | libext=lib | ||
10755 | # Tell ltmain to make .dll files, not .so files. | ||
10756 | shrext_cmds=".dll" | ||
10757 | # FIXME: Setting linknames here is a bad hack. | ||
10758 | archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' | ||
10759 | # The linker will automatically build a .lib file if we build a DLL. | ||
10760 | old_archive_from_new_cmds='true' | ||
10761 | # FIXME: Should let the user specify the lib program. | ||
10762 | old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' | ||
10763 | enable_shared_with_static_runtimes=yes | ||
10764 | ;; | ||
10765 | esac | ||
10766 | ;; | ||
10767 | |||
10768 | darwin* | rhapsody*) | ||
10769 | |||
10770 | |||
10771 | archive_cmds_need_lc=no | ||
10772 | hardcode_direct=no | ||
10773 | hardcode_automatic=yes | ||
10774 | hardcode_shlibpath_var=unsupported | ||
10775 | if test "$lt_cv_ld_force_load" = "yes"; then | ||
10776 | whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' | ||
10777 | |||
10778 | else | ||
10779 | whole_archive_flag_spec='' | ||
10780 | fi | ||
10781 | link_all_deplibs=yes | ||
10782 | allow_undefined_flag="$_lt_dar_allow_undefined" | ||
10783 | case $cc_basename in | ||
10784 | ifort*) _lt_dar_can_shared=yes ;; | ||
10785 | *) _lt_dar_can_shared=$GCC ;; | ||
10786 | esac | ||
10787 | if test "$_lt_dar_can_shared" = "yes"; then | ||
10788 | output_verbose_link_cmd=func_echo_all | ||
10789 | archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" | ||
10790 | module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" | ||
10791 | archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" | ||
10792 | module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" | ||
10793 | |||
10794 | else | ||
10795 | ld_shlibs=no | ||
10796 | fi | ||
10797 | |||
10798 | ;; | ||
10799 | |||
10800 | dgux*) | ||
10801 | archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
10802 | hardcode_libdir_flag_spec='-L$libdir' | ||
10803 | hardcode_shlibpath_var=no | ||
10804 | ;; | ||
10805 | |||
10806 | # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor | ||
10807 | # support. Future versions do this automatically, but an explicit c++rt0.o | ||
10808 | # does not break anything, and helps significantly (at the cost of a little | ||
10809 | # extra space). | ||
10810 | freebsd2.2*) | ||
10811 | archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' | ||
10812 | hardcode_libdir_flag_spec='-R$libdir' | ||
10813 | hardcode_direct=yes | ||
10814 | hardcode_shlibpath_var=no | ||
10815 | ;; | ||
10816 | |||
10817 | # Unfortunately, older versions of FreeBSD 2 do not have this feature. | ||
10818 | freebsd2.*) | ||
10819 | archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
10820 | hardcode_direct=yes | ||
10821 | hardcode_minus_L=yes | ||
10822 | hardcode_shlibpath_var=no | ||
10823 | ;; | ||
10824 | |||
10825 | # FreeBSD 3 and greater uses gcc -shared to do shared libraries. | ||
10826 | freebsd* | dragonfly*) | ||
10827 | archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | ||
10828 | hardcode_libdir_flag_spec='-R$libdir' | ||
10829 | hardcode_direct=yes | ||
10830 | hardcode_shlibpath_var=no | ||
10831 | ;; | ||
10832 | |||
10833 | hpux9*) | ||
10834 | if test "$GCC" = yes; then | ||
10835 | archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
10836 | else | ||
10837 | archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
10838 | fi | ||
10839 | hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' | ||
10840 | hardcode_libdir_separator=: | ||
10841 | hardcode_direct=yes | ||
10842 | |||
10843 | # hardcode_minus_L: Not really in the search PATH, | ||
10844 | # but as the default location of the library. | ||
10845 | hardcode_minus_L=yes | ||
10846 | export_dynamic_flag_spec='${wl}-E' | ||
10847 | ;; | ||
10848 | |||
10849 | hpux10*) | ||
10850 | if test "$GCC" = yes && test "$with_gnu_ld" = no; then | ||
10851 | archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
10852 | else | ||
10853 | archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' | ||
10854 | fi | ||
10855 | if test "$with_gnu_ld" = no; then | ||
10856 | hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' | ||
10857 | hardcode_libdir_separator=: | ||
10858 | hardcode_direct=yes | ||
10859 | hardcode_direct_absolute=yes | ||
10860 | export_dynamic_flag_spec='${wl}-E' | ||
10861 | # hardcode_minus_L: Not really in the search PATH, | ||
10862 | # but as the default location of the library. | ||
10863 | hardcode_minus_L=yes | ||
10864 | fi | ||
10865 | ;; | ||
10866 | |||
10867 | hpux11*) | ||
10868 | if test "$GCC" = yes && test "$with_gnu_ld" = no; then | ||
10869 | case $host_cpu in | ||
10870 | hppa*64*) | ||
10871 | archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
10872 | ;; | ||
10873 | ia64*) | ||
10874 | archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' | ||
10875 | ;; | ||
10876 | *) | ||
10877 | archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
10878 | ;; | ||
10879 | esac | ||
10880 | else | ||
10881 | case $host_cpu in | ||
10882 | hppa*64*) | ||
10883 | archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
10884 | ;; | ||
10885 | ia64*) | ||
10886 | archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' | ||
10887 | ;; | ||
10888 | *) | ||
10889 | |||
10890 | # Older versions of the 11.00 compiler do not understand -b yet | ||
10891 | # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) | ||
10892 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 | ||
10893 | $as_echo_n "checking if $CC understands -b... " >&6; } | ||
10894 | if ${lt_cv_prog_compiler__b+:} false; then : | ||
10895 | $as_echo_n "(cached) " >&6 | ||
10896 | else | ||
10897 | lt_cv_prog_compiler__b=no | ||
10898 | save_LDFLAGS="$LDFLAGS" | ||
10899 | LDFLAGS="$LDFLAGS -b" | ||
10900 | echo "$lt_simple_link_test_code" > conftest.$ac_ext | ||
10901 | if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then | ||
10902 | # The linker can only warn and ignore the option if not recognized | ||
10903 | # So say no if there are warnings | ||
10904 | if test -s conftest.err; then | ||
10905 | # Append any errors to the config.log. | ||
10906 | cat conftest.err 1>&5 | ||
10907 | $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp | ||
10908 | $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
10909 | if diff conftest.exp conftest.er2 >/dev/null; then | ||
10910 | lt_cv_prog_compiler__b=yes | ||
10911 | fi | ||
10912 | else | ||
10913 | lt_cv_prog_compiler__b=yes | ||
10914 | fi | ||
10915 | fi | ||
10916 | $RM -r conftest* | ||
10917 | LDFLAGS="$save_LDFLAGS" | ||
10918 | |||
10919 | fi | ||
10920 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 | ||
10921 | $as_echo "$lt_cv_prog_compiler__b" >&6; } | ||
10922 | |||
10923 | if test x"$lt_cv_prog_compiler__b" = xyes; then | ||
10924 | archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
10925 | else | ||
10926 | archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' | ||
10927 | fi | ||
10928 | |||
10929 | ;; | ||
10930 | esac | ||
10931 | fi | ||
10932 | if test "$with_gnu_ld" = no; then | ||
10933 | hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' | ||
10934 | hardcode_libdir_separator=: | ||
10935 | |||
10936 | case $host_cpu in | ||
10937 | hppa*64*|ia64*) | ||
10938 | hardcode_direct=no | ||
10939 | hardcode_shlibpath_var=no | ||
10940 | ;; | ||
10941 | *) | ||
10942 | hardcode_direct=yes | ||
10943 | hardcode_direct_absolute=yes | ||
10944 | export_dynamic_flag_spec='${wl}-E' | ||
10945 | |||
10946 | # hardcode_minus_L: Not really in the search PATH, | ||
10947 | # but as the default location of the library. | ||
10948 | hardcode_minus_L=yes | ||
10949 | ;; | ||
10950 | esac | ||
10951 | fi | ||
10952 | ;; | ||
10953 | |||
10954 | irix5* | irix6* | nonstopux*) | ||
10955 | if test "$GCC" = yes; then | ||
10956 | archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
10957 | # Try to use the -exported_symbol ld option, if it does not | ||
10958 | # work, assume that -exports_file does not work either and | ||
10959 | # implicitly export all symbols. | ||
10960 | # This should be the same for all languages, so no per-tag cache variable. | ||
10961 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 | ||
10962 | $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } | ||
10963 | if ${lt_cv_irix_exported_symbol+:} false; then : | ||
10964 | $as_echo_n "(cached) " >&6 | ||
10965 | else | ||
10966 | save_LDFLAGS="$LDFLAGS" | ||
10967 | LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" | ||
10968 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
10969 | /* end confdefs.h. */ | ||
10970 | int foo (void) { return 0; } | ||
10971 | _ACEOF | ||
10972 | if ac_fn_c_try_link "$LINENO"; then : | ||
10973 | lt_cv_irix_exported_symbol=yes | ||
10974 | else | ||
10975 | lt_cv_irix_exported_symbol=no | ||
10976 | fi | ||
10977 | rm -f core conftest.err conftest.$ac_objext \ | ||
10978 | conftest$ac_exeext conftest.$ac_ext | ||
10979 | LDFLAGS="$save_LDFLAGS" | ||
10980 | fi | ||
10981 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 | ||
10982 | $as_echo "$lt_cv_irix_exported_symbol" >&6; } | ||
10983 | if test "$lt_cv_irix_exported_symbol" = yes; then | ||
10984 | archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' | ||
10985 | fi | ||
10986 | else | ||
10987 | archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' | ||
10988 | archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' | ||
10989 | fi | ||
10990 | archive_cmds_need_lc='no' | ||
10991 | hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' | ||
10992 | hardcode_libdir_separator=: | ||
10993 | inherit_rpath=yes | ||
10994 | link_all_deplibs=yes | ||
10995 | ;; | ||
10996 | |||
10997 | netbsd*) | ||
10998 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
10999 | archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out | ||
11000 | else | ||
11001 | archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF | ||
11002 | fi | ||
11003 | hardcode_libdir_flag_spec='-R$libdir' | ||
11004 | hardcode_direct=yes | ||
11005 | hardcode_shlibpath_var=no | ||
11006 | ;; | ||
11007 | |||
11008 | newsos6) | ||
11009 | archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
11010 | hardcode_direct=yes | ||
11011 | hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' | ||
11012 | hardcode_libdir_separator=: | ||
11013 | hardcode_shlibpath_var=no | ||
11014 | ;; | ||
11015 | |||
11016 | *nto* | *qnx*) | ||
11017 | ;; | ||
11018 | |||
11019 | openbsd*) | ||
11020 | if test -f /usr/libexec/ld.so; then | ||
11021 | hardcode_direct=yes | ||
11022 | hardcode_shlibpath_var=no | ||
11023 | hardcode_direct_absolute=yes | ||
11024 | if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
11025 | archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | ||
11026 | archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' | ||
11027 | hardcode_libdir_flag_spec='${wl}-rpath,$libdir' | ||
11028 | export_dynamic_flag_spec='${wl}-E' | ||
11029 | else | ||
11030 | case $host_os in | ||
11031 | openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) | ||
11032 | archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
11033 | hardcode_libdir_flag_spec='-R$libdir' | ||
11034 | ;; | ||
11035 | *) | ||
11036 | archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | ||
11037 | hardcode_libdir_flag_spec='${wl}-rpath,$libdir' | ||
11038 | ;; | ||
11039 | esac | ||
11040 | fi | ||
11041 | else | ||
11042 | ld_shlibs=no | ||
11043 | fi | ||
11044 | ;; | ||
11045 | |||
11046 | os2*) | ||
11047 | hardcode_libdir_flag_spec='-L$libdir' | ||
11048 | hardcode_minus_L=yes | ||
11049 | allow_undefined_flag=unsupported | ||
11050 | archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' | ||
11051 | old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' | ||
11052 | ;; | ||
11053 | |||
11054 | osf3*) | ||
11055 | if test "$GCC" = yes; then | ||
11056 | allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' | ||
11057 | archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
11058 | else | ||
11059 | allow_undefined_flag=' -expect_unresolved \*' | ||
11060 | archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' | ||
11061 | fi | ||
11062 | archive_cmds_need_lc='no' | ||
11063 | hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' | ||
11064 | hardcode_libdir_separator=: | ||
11065 | ;; | ||
11066 | |||
11067 | osf4* | osf5*) # as osf3* with the addition of -msym flag | ||
11068 | if test "$GCC" = yes; then | ||
11069 | allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' | ||
11070 | archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
11071 | hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' | ||
11072 | else | ||
11073 | allow_undefined_flag=' -expect_unresolved \*' | ||
11074 | archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' | ||
11075 | archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ | ||
11076 | $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' | ||
11077 | |||
11078 | # Both c and cxx compiler support -rpath directly | ||
11079 | hardcode_libdir_flag_spec='-rpath $libdir' | ||
11080 | fi | ||
11081 | archive_cmds_need_lc='no' | ||
11082 | hardcode_libdir_separator=: | ||
11083 | ;; | ||
11084 | |||
11085 | solaris*) | ||
11086 | no_undefined_flag=' -z defs' | ||
11087 | if test "$GCC" = yes; then | ||
11088 | wlarc='${wl}' | ||
11089 | archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11090 | archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
11091 | $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' | ||
11092 | else | ||
11093 | case `$CC -V 2>&1` in | ||
11094 | *"Compilers 5.0"*) | ||
11095 | wlarc='' | ||
11096 | archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
11097 | archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
11098 | $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' | ||
11099 | ;; | ||
11100 | *) | ||
11101 | wlarc='${wl}' | ||
11102 | archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11103 | archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
11104 | $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' | ||
11105 | ;; | ||
11106 | esac | ||
11107 | fi | ||
11108 | hardcode_libdir_flag_spec='-R$libdir' | ||
11109 | hardcode_shlibpath_var=no | ||
11110 | case $host_os in | ||
11111 | solaris2.[0-5] | solaris2.[0-5].*) ;; | ||
11112 | *) | ||
11113 | # The compiler driver will combine and reorder linker options, | ||
11114 | # but understands `-z linker_flag'. GCC discards it without `$wl', | ||
11115 | # but is careful enough not to reorder. | ||
11116 | # Supported since Solaris 2.6 (maybe 2.5.1?) | ||
11117 | if test "$GCC" = yes; then | ||
11118 | whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' | ||
11119 | else | ||
11120 | whole_archive_flag_spec='-z allextract$convenience -z defaultextract' | ||
11121 | fi | ||
11122 | ;; | ||
11123 | esac | ||
11124 | link_all_deplibs=yes | ||
11125 | ;; | ||
11126 | |||
11127 | sunos4*) | ||
11128 | if test "x$host_vendor" = xsequent; then | ||
11129 | # Use $CC to link under sequent, because it throws in some extra .o | ||
11130 | # files that make .init and .fini sections work. | ||
11131 | archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11132 | else | ||
11133 | archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' | ||
11134 | fi | ||
11135 | hardcode_libdir_flag_spec='-L$libdir' | ||
11136 | hardcode_direct=yes | ||
11137 | hardcode_minus_L=yes | ||
11138 | hardcode_shlibpath_var=no | ||
11139 | ;; | ||
11140 | |||
11141 | sysv4) | ||
11142 | case $host_vendor in | ||
11143 | sni) | ||
11144 | archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
11145 | hardcode_direct=yes # is this really true??? | ||
11146 | ;; | ||
11147 | siemens) | ||
11148 | ## LD is ld it makes a PLAMLIB | ||
11149 | ## CC just makes a GrossModule. | ||
11150 | archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' | ||
11151 | reload_cmds='$CC -r -o $output$reload_objs' | ||
11152 | hardcode_direct=no | ||
11153 | ;; | ||
11154 | motorola) | ||
11155 | archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
11156 | hardcode_direct=no #Motorola manual says yes, but my tests say they lie | ||
11157 | ;; | ||
11158 | esac | ||
11159 | runpath_var='LD_RUN_PATH' | ||
11160 | hardcode_shlibpath_var=no | ||
11161 | ;; | ||
11162 | |||
11163 | sysv4.3*) | ||
11164 | archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
11165 | hardcode_shlibpath_var=no | ||
11166 | export_dynamic_flag_spec='-Bexport' | ||
11167 | ;; | ||
11168 | |||
11169 | sysv4*MP*) | ||
11170 | if test -d /usr/nec; then | ||
11171 | archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
11172 | hardcode_shlibpath_var=no | ||
11173 | runpath_var=LD_RUN_PATH | ||
11174 | hardcode_runpath_var=yes | ||
11175 | ld_shlibs=yes | ||
11176 | fi | ||
11177 | ;; | ||
11178 | |||
11179 | sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) | ||
11180 | no_undefined_flag='${wl}-z,text' | ||
11181 | archive_cmds_need_lc=no | ||
11182 | hardcode_shlibpath_var=no | ||
11183 | runpath_var='LD_RUN_PATH' | ||
11184 | |||
11185 | if test "$GCC" = yes; then | ||
11186 | archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11187 | archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11188 | else | ||
11189 | archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11190 | archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11191 | fi | ||
11192 | ;; | ||
11193 | |||
11194 | sysv5* | sco3.2v5* | sco5v6*) | ||
11195 | # Note: We can NOT use -z defs as we might desire, because we do not | ||
11196 | # link with -lc, and that would cause any symbols used from libc to | ||
11197 | # always be unresolved, which means just about no library would | ||
11198 | # ever link correctly. If we're not using GNU ld we use -z text | ||
11199 | # though, which does catch some bad symbols but isn't as heavy-handed | ||
11200 | # as -z defs. | ||
11201 | no_undefined_flag='${wl}-z,text' | ||
11202 | allow_undefined_flag='${wl}-z,nodefs' | ||
11203 | archive_cmds_need_lc=no | ||
11204 | hardcode_shlibpath_var=no | ||
11205 | hardcode_libdir_flag_spec='${wl}-R,$libdir' | ||
11206 | hardcode_libdir_separator=':' | ||
11207 | link_all_deplibs=yes | ||
11208 | export_dynamic_flag_spec='${wl}-Bexport' | ||
11209 | runpath_var='LD_RUN_PATH' | ||
11210 | |||
11211 | if test "$GCC" = yes; then | ||
11212 | archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11213 | archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11214 | else | ||
11215 | archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11216 | archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
11217 | fi | ||
11218 | ;; | ||
11219 | |||
11220 | uts4*) | ||
11221 | archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
11222 | hardcode_libdir_flag_spec='-L$libdir' | ||
11223 | hardcode_shlibpath_var=no | ||
11224 | ;; | ||
11225 | |||
11226 | *) | ||
11227 | ld_shlibs=no | ||
11228 | ;; | ||
11229 | esac | ||
11230 | |||
11231 | if test x$host_vendor = xsni; then | ||
11232 | case $host in | ||
11233 | sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | ||
11234 | export_dynamic_flag_spec='${wl}-Blargedynsym' | ||
11235 | ;; | ||
11236 | esac | ||
11237 | fi | ||
11238 | fi | ||
11239 | |||
11240 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 | ||
11241 | $as_echo "$ld_shlibs" >&6; } | ||
11242 | test "$ld_shlibs" = no && can_build_shared=no | ||
11243 | |||
11244 | with_gnu_ld=$with_gnu_ld | ||
11245 | |||
11246 | |||
11247 | |||
11248 | |||
11249 | |||
11250 | |||
11251 | |||
11252 | |||
11253 | |||
11254 | |||
11255 | |||
11256 | |||
11257 | |||
11258 | |||
11259 | |||
11260 | # | ||
11261 | # Do we need to explicitly link libc? | ||
11262 | # | ||
11263 | case "x$archive_cmds_need_lc" in | ||
11264 | x|xyes) | ||
11265 | # Assume -lc should be added | ||
11266 | archive_cmds_need_lc=yes | ||
11267 | |||
11268 | if test "$enable_shared" = yes && test "$GCC" = yes; then | ||
11269 | case $archive_cmds in | ||
11270 | *'~'*) | ||
11271 | # FIXME: we may have to deal with multi-command sequences. | ||
11272 | ;; | ||
11273 | '$CC '*) | ||
11274 | # Test whether the compiler implicitly links with -lc since on some | ||
11275 | # systems, -lgcc has to come before -lc. If gcc already passes -lc | ||
11276 | # to ld, don't add -lc before -lgcc. | ||
11277 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 | ||
11278 | $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } | ||
11279 | if ${lt_cv_archive_cmds_need_lc+:} false; then : | ||
11280 | $as_echo_n "(cached) " >&6 | ||
11281 | else | ||
11282 | $RM conftest* | ||
11283 | echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
11284 | |||
11285 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 | ||
11286 | (eval $ac_compile) 2>&5 | ||
11287 | ac_status=$? | ||
11288 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
11289 | test $ac_status = 0; } 2>conftest.err; then | ||
11290 | soname=conftest | ||
11291 | lib=conftest | ||
11292 | libobjs=conftest.$ac_objext | ||
11293 | deplibs= | ||
11294 | wl=$lt_prog_compiler_wl | ||
11295 | pic_flag=$lt_prog_compiler_pic | ||
11296 | compiler_flags=-v | ||
11297 | linker_flags=-v | ||
11298 | verstring= | ||
11299 | output_objdir=. | ||
11300 | libname=conftest | ||
11301 | lt_save_allow_undefined_flag=$allow_undefined_flag | ||
11302 | allow_undefined_flag= | ||
11303 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 | ||
11304 | (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 | ||
11305 | ac_status=$? | ||
11306 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
11307 | test $ac_status = 0; } | ||
11308 | then | ||
11309 | lt_cv_archive_cmds_need_lc=no | ||
11310 | else | ||
11311 | lt_cv_archive_cmds_need_lc=yes | ||
11312 | fi | ||
11313 | allow_undefined_flag=$lt_save_allow_undefined_flag | ||
11314 | else | ||
11315 | cat conftest.err 1>&5 | ||
11316 | fi | ||
11317 | $RM conftest* | ||
11318 | |||
11319 | fi | ||
11320 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 | ||
11321 | $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } | ||
11322 | archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc | ||
11323 | ;; | ||
11324 | esac | ||
11325 | fi | ||
11326 | ;; | ||
11327 | esac | ||
11328 | |||
11329 | |||
11330 | |||
11331 | |||
11332 | |||
11333 | |||
11334 | |||
11335 | |||
11336 | |||
11337 | |||
11338 | |||
11339 | |||
11340 | |||
11341 | |||
11342 | |||
11343 | |||
11344 | |||
11345 | |||
11346 | |||
11347 | |||
11348 | |||
11349 | |||
11350 | |||
11351 | |||
11352 | |||
11353 | |||
11354 | |||
11355 | |||
11356 | |||
11357 | |||
11358 | |||
11359 | |||
11360 | |||
11361 | |||
11362 | |||
11363 | |||
11364 | |||
11365 | |||
11366 | |||
11367 | |||
11368 | |||
11369 | |||
11370 | |||
11371 | |||
11372 | |||
11373 | |||
11374 | |||
11375 | |||
11376 | |||
11377 | |||
11378 | |||
11379 | |||
11380 | |||
11381 | |||
11382 | |||
11383 | |||
11384 | |||
11385 | |||
11386 | |||
11387 | |||
11388 | |||
11389 | |||
11390 | |||
11391 | |||
11392 | |||
11393 | |||
11394 | |||
11395 | |||
11396 | |||
11397 | |||
11398 | |||
11399 | |||
11400 | |||
11401 | |||
11402 | |||
11403 | |||
11404 | |||
11405 | |||
11406 | |||
11407 | |||
11408 | |||
11409 | |||
11410 | |||
11411 | |||
11412 | |||
11413 | |||
11414 | |||
11415 | |||
11416 | |||
11417 | |||
11418 | |||
11419 | |||
11420 | |||
11421 | |||
11422 | |||
11423 | |||
11424 | |||
11425 | |||
11426 | |||
11427 | |||
11428 | |||
11429 | |||
11430 | |||
11431 | |||
11432 | |||
11433 | |||
11434 | |||
11435 | |||
11436 | |||
11437 | |||
11438 | |||
11439 | |||
11440 | |||
11441 | |||
11442 | |||
11443 | |||
11444 | |||
11445 | |||
11446 | |||
11447 | |||
11448 | |||
11449 | |||
11450 | |||
11451 | |||
11452 | |||
11453 | |||
11454 | |||
11455 | |||
11456 | |||
11457 | |||
11458 | |||
11459 | |||
11460 | |||
11461 | |||
11462 | |||
11463 | |||
11464 | |||
11465 | |||
11466 | |||
11467 | |||
11468 | |||
11469 | |||
11470 | |||
11471 | |||
11472 | |||
11473 | |||
11474 | |||
11475 | |||
11476 | |||
11477 | |||
11478 | |||
11479 | |||
11480 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 | ||
11481 | $as_echo_n "checking dynamic linker characteristics... " >&6; } | ||
11482 | |||
11483 | if test "$GCC" = yes; then | ||
11484 | case $host_os in | ||
11485 | darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; | ||
11486 | *) lt_awk_arg="/^libraries:/" ;; | ||
11487 | esac | ||
11488 | case $host_os in | ||
11489 | mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; | ||
11490 | *) lt_sed_strip_eq="s,=/,/,g" ;; | ||
11491 | esac | ||
11492 | lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` | ||
11493 | case $lt_search_path_spec in | ||
11494 | *\;*) | ||
11495 | # if the path contains ";" then we assume it to be the separator | ||
11496 | # otherwise default to the standard path separator (i.e. ":") - it is | ||
11497 | # assumed that no part of a normal pathname contains ";" but that should | ||
11498 | # okay in the real world where ";" in dirpaths is itself problematic. | ||
11499 | lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` | ||
11500 | ;; | ||
11501 | *) | ||
11502 | lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` | ||
11503 | ;; | ||
11504 | esac | ||
11505 | # Ok, now we have the path, separated by spaces, we can step through it | ||
11506 | # and add multilib dir if necessary. | ||
11507 | lt_tmp_lt_search_path_spec= | ||
11508 | lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` | ||
11509 | for lt_sys_path in $lt_search_path_spec; do | ||
11510 | if test -d "$lt_sys_path/$lt_multi_os_dir"; then | ||
11511 | lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" | ||
11512 | else | ||
11513 | test -d "$lt_sys_path" && \ | ||
11514 | lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" | ||
11515 | fi | ||
11516 | done | ||
11517 | lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' | ||
11518 | BEGIN {RS=" "; FS="/|\n";} { | ||
11519 | lt_foo=""; | ||
11520 | lt_count=0; | ||
11521 | for (lt_i = NF; lt_i > 0; lt_i--) { | ||
11522 | if ($lt_i != "" && $lt_i != ".") { | ||
11523 | if ($lt_i == "..") { | ||
11524 | lt_count++; | ||
11525 | } else { | ||
11526 | if (lt_count == 0) { | ||
11527 | lt_foo="/" $lt_i lt_foo; | ||
11528 | } else { | ||
11529 | lt_count--; | ||
11530 | } | ||
11531 | } | ||
11532 | } | ||
11533 | } | ||
11534 | if (lt_foo != "") { lt_freq[lt_foo]++; } | ||
11535 | if (lt_freq[lt_foo] == 1) { print lt_foo; } | ||
11536 | }'` | ||
11537 | # AWK program above erroneously prepends '/' to C:/dos/paths | ||
11538 | # for these hosts. | ||
11539 | case $host_os in | ||
11540 | mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ | ||
11541 | $SED 's,/\([A-Za-z]:\),\1,g'` ;; | ||
11542 | esac | ||
11543 | sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` | ||
11544 | else | ||
11545 | sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" | ||
11546 | fi | ||
11547 | library_names_spec= | ||
11548 | libname_spec='lib$name' | ||
11549 | soname_spec= | ||
11550 | shrext_cmds=".so" | ||
11551 | postinstall_cmds= | ||
11552 | postuninstall_cmds= | ||
11553 | finish_cmds= | ||
11554 | finish_eval= | ||
11555 | shlibpath_var= | ||
11556 | shlibpath_overrides_runpath=unknown | ||
11557 | version_type=none | ||
11558 | dynamic_linker="$host_os ld.so" | ||
11559 | sys_lib_dlsearch_path_spec="/lib /usr/lib" | ||
11560 | need_lib_prefix=unknown | ||
11561 | hardcode_into_libs=no | ||
11562 | |||
11563 | # when you set need_version to no, make sure it does not cause -set_version | ||
11564 | # flags to be left without arguments | ||
11565 | need_version=unknown | ||
11566 | |||
11567 | case $host_os in | ||
11568 | aix3*) | ||
11569 | version_type=linux # correct to gnu/linux during the next big refactor | ||
11570 | library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' | ||
11571 | shlibpath_var=LIBPATH | ||
11572 | |||
11573 | # AIX 3 has no versioning support, so we append a major version to the name. | ||
11574 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11575 | ;; | ||
11576 | |||
11577 | aix[4-9]*) | ||
11578 | version_type=linux # correct to gnu/linux during the next big refactor | ||
11579 | need_lib_prefix=no | ||
11580 | need_version=no | ||
11581 | hardcode_into_libs=yes | ||
11582 | if test "$host_cpu" = ia64; then | ||
11583 | # AIX 5 supports IA64 | ||
11584 | library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' | ||
11585 | shlibpath_var=LD_LIBRARY_PATH | ||
11586 | else | ||
11587 | # With GCC up to 2.95.x, collect2 would create an import file | ||
11588 | # for dependence libraries. The import file would start with | ||
11589 | # the line `#! .'. This would cause the generated library to | ||
11590 | # depend on `.', always an invalid library. This was fixed in | ||
11591 | # development snapshots of GCC prior to 3.0. | ||
11592 | case $host_os in | ||
11593 | aix4 | aix4.[01] | aix4.[01].*) | ||
11594 | if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' | ||
11595 | echo ' yes ' | ||
11596 | echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then | ||
11597 | : | ||
11598 | else | ||
11599 | can_build_shared=no | ||
11600 | fi | ||
11601 | ;; | ||
11602 | esac | ||
11603 | # AIX (on Power*) has no versioning support, so currently we can not hardcode correct | ||
11604 | # soname into executable. Probably we can add versioning support to | ||
11605 | # collect2, so additional links can be useful in future. | ||
11606 | if test "$aix_use_runtimelinking" = yes; then | ||
11607 | # If using run time linking (on AIX 4.2 or later) use lib<name>.so | ||
11608 | # instead of lib<name>.a to let people know that these are not | ||
11609 | # typical AIX shared libraries. | ||
11610 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
11611 | else | ||
11612 | # We preserve .a as extension for shared libraries through AIX4.2 | ||
11613 | # and later when we are not doing run time linking. | ||
11614 | library_names_spec='${libname}${release}.a $libname.a' | ||
11615 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11616 | fi | ||
11617 | shlibpath_var=LIBPATH | ||
11618 | fi | ||
11619 | ;; | ||
11620 | |||
11621 | amigaos*) | ||
11622 | case $host_cpu in | ||
11623 | powerpc) | ||
11624 | # Since July 2007 AmigaOS4 officially supports .so libraries. | ||
11625 | # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. | ||
11626 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
11627 | ;; | ||
11628 | m68k) | ||
11629 | library_names_spec='$libname.ixlibrary $libname.a' | ||
11630 | # Create ${libname}_ixlibrary.a entries in /sys/libs. | ||
11631 | finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' | ||
11632 | ;; | ||
11633 | esac | ||
11634 | ;; | ||
11635 | |||
11636 | beos*) | ||
11637 | library_names_spec='${libname}${shared_ext}' | ||
11638 | dynamic_linker="$host_os ld.so" | ||
11639 | shlibpath_var=LIBRARY_PATH | ||
11640 | ;; | ||
11641 | |||
11642 | bsdi[45]*) | ||
11643 | version_type=linux # correct to gnu/linux during the next big refactor | ||
11644 | need_version=no | ||
11645 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
11646 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11647 | finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' | ||
11648 | shlibpath_var=LD_LIBRARY_PATH | ||
11649 | sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" | ||
11650 | sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" | ||
11651 | # the default ld.so.conf also contains /usr/contrib/lib and | ||
11652 | # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow | ||
11653 | # libtool to hard-code these into programs | ||
11654 | ;; | ||
11655 | |||
11656 | cygwin* | mingw* | pw32* | cegcc*) | ||
11657 | version_type=windows | ||
11658 | shrext_cmds=".dll" | ||
11659 | need_version=no | ||
11660 | need_lib_prefix=no | ||
11661 | |||
11662 | case $GCC,$cc_basename in | ||
11663 | yes,*) | ||
11664 | # gcc | ||
11665 | library_names_spec='$libname.dll.a' | ||
11666 | # DLL is installed to $(libdir)/../bin by postinstall_cmds | ||
11667 | postinstall_cmds='base_file=`basename \${file}`~ | ||
11668 | dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ | ||
11669 | dldir=$destdir/`dirname \$dlpath`~ | ||
11670 | test -d \$dldir || mkdir -p \$dldir~ | ||
11671 | $install_prog $dir/$dlname \$dldir/$dlname~ | ||
11672 | chmod a+x \$dldir/$dlname~ | ||
11673 | if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then | ||
11674 | eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; | ||
11675 | fi' | ||
11676 | postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ | ||
11677 | dlpath=$dir/\$dldll~ | ||
11678 | $RM \$dlpath' | ||
11679 | shlibpath_overrides_runpath=yes | ||
11680 | |||
11681 | case $host_os in | ||
11682 | cygwin*) | ||
11683 | # Cygwin DLLs use 'cyg' prefix rather than 'lib' | ||
11684 | soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' | ||
11685 | |||
11686 | sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" | ||
11687 | ;; | ||
11688 | mingw* | cegcc*) | ||
11689 | # MinGW DLLs use traditional 'lib' prefix | ||
11690 | soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' | ||
11691 | ;; | ||
11692 | pw32*) | ||
11693 | # pw32 DLLs use 'pw' prefix rather than 'lib' | ||
11694 | library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' | ||
11695 | ;; | ||
11696 | esac | ||
11697 | dynamic_linker='Win32 ld.exe' | ||
11698 | ;; | ||
11699 | |||
11700 | *,cl*) | ||
11701 | # Native MSVC | ||
11702 | libname_spec='$name' | ||
11703 | soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' | ||
11704 | library_names_spec='${libname}.dll.lib' | ||
11705 | |||
11706 | case $build_os in | ||
11707 | mingw*) | ||
11708 | sys_lib_search_path_spec= | ||
11709 | lt_save_ifs=$IFS | ||
11710 | IFS=';' | ||
11711 | for lt_path in $LIB | ||
11712 | do | ||
11713 | IFS=$lt_save_ifs | ||
11714 | # Let DOS variable expansion print the short 8.3 style file name. | ||
11715 | lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` | ||
11716 | sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" | ||
11717 | done | ||
11718 | IFS=$lt_save_ifs | ||
11719 | # Convert to MSYS style. | ||
11720 | sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` | ||
11721 | ;; | ||
11722 | cygwin*) | ||
11723 | # Convert to unix form, then to dos form, then back to unix form | ||
11724 | # but this time dos style (no spaces!) so that the unix form looks | ||
11725 | # like /cygdrive/c/PROGRA~1:/cygdr... | ||
11726 | sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` | ||
11727 | sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` | ||
11728 | sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` | ||
11729 | ;; | ||
11730 | *) | ||
11731 | sys_lib_search_path_spec="$LIB" | ||
11732 | if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then | ||
11733 | # It is most probably a Windows format PATH. | ||
11734 | sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` | ||
11735 | else | ||
11736 | sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` | ||
11737 | fi | ||
11738 | # FIXME: find the short name or the path components, as spaces are | ||
11739 | # common. (e.g. "Program Files" -> "PROGRA~1") | ||
11740 | ;; | ||
11741 | esac | ||
11742 | |||
11743 | # DLL is installed to $(libdir)/../bin by postinstall_cmds | ||
11744 | postinstall_cmds='base_file=`basename \${file}`~ | ||
11745 | dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ | ||
11746 | dldir=$destdir/`dirname \$dlpath`~ | ||
11747 | test -d \$dldir || mkdir -p \$dldir~ | ||
11748 | $install_prog $dir/$dlname \$dldir/$dlname' | ||
11749 | postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ | ||
11750 | dlpath=$dir/\$dldll~ | ||
11751 | $RM \$dlpath' | ||
11752 | shlibpath_overrides_runpath=yes | ||
11753 | dynamic_linker='Win32 link.exe' | ||
11754 | ;; | ||
11755 | |||
11756 | *) | ||
11757 | # Assume MSVC wrapper | ||
11758 | library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' | ||
11759 | dynamic_linker='Win32 ld.exe' | ||
11760 | ;; | ||
11761 | esac | ||
11762 | # FIXME: first we should search . and the directory the executable is in | ||
11763 | shlibpath_var=PATH | ||
11764 | ;; | ||
11765 | |||
11766 | darwin* | rhapsody*) | ||
11767 | dynamic_linker="$host_os dyld" | ||
11768 | version_type=darwin | ||
11769 | need_lib_prefix=no | ||
11770 | need_version=no | ||
11771 | library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' | ||
11772 | soname_spec='${libname}${release}${major}$shared_ext' | ||
11773 | shlibpath_overrides_runpath=yes | ||
11774 | shlibpath_var=DYLD_LIBRARY_PATH | ||
11775 | shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' | ||
11776 | |||
11777 | sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" | ||
11778 | sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' | ||
11779 | ;; | ||
11780 | |||
11781 | dgux*) | ||
11782 | version_type=linux # correct to gnu/linux during the next big refactor | ||
11783 | need_lib_prefix=no | ||
11784 | need_version=no | ||
11785 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' | ||
11786 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11787 | shlibpath_var=LD_LIBRARY_PATH | ||
11788 | ;; | ||
11789 | |||
11790 | freebsd* | dragonfly*) | ||
11791 | # DragonFly does not have aout. When/if they implement a new | ||
11792 | # versioning mechanism, adjust this. | ||
11793 | if test -x /usr/bin/objformat; then | ||
11794 | objformat=`/usr/bin/objformat` | ||
11795 | else | ||
11796 | case $host_os in | ||
11797 | freebsd[23].*) objformat=aout ;; | ||
11798 | *) objformat=elf ;; | ||
11799 | esac | ||
11800 | fi | ||
11801 | version_type=freebsd-$objformat | ||
11802 | case $version_type in | ||
11803 | freebsd-elf*) | ||
11804 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
11805 | need_version=no | ||
11806 | need_lib_prefix=no | ||
11807 | ;; | ||
11808 | freebsd-*) | ||
11809 | library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' | ||
11810 | need_version=yes | ||
11811 | ;; | ||
11812 | esac | ||
11813 | shlibpath_var=LD_LIBRARY_PATH | ||
11814 | case $host_os in | ||
11815 | freebsd2.*) | ||
11816 | shlibpath_overrides_runpath=yes | ||
11817 | ;; | ||
11818 | freebsd3.[01]* | freebsdelf3.[01]*) | ||
11819 | shlibpath_overrides_runpath=yes | ||
11820 | hardcode_into_libs=yes | ||
11821 | ;; | ||
11822 | freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ | ||
11823 | freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) | ||
11824 | shlibpath_overrides_runpath=no | ||
11825 | hardcode_into_libs=yes | ||
11826 | ;; | ||
11827 | *) # from 4.6 on, and DragonFly | ||
11828 | shlibpath_overrides_runpath=yes | ||
11829 | hardcode_into_libs=yes | ||
11830 | ;; | ||
11831 | esac | ||
11832 | ;; | ||
11833 | |||
11834 | gnu*) | ||
11835 | version_type=linux # correct to gnu/linux during the next big refactor | ||
11836 | need_lib_prefix=no | ||
11837 | need_version=no | ||
11838 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' | ||
11839 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11840 | shlibpath_var=LD_LIBRARY_PATH | ||
11841 | shlibpath_overrides_runpath=no | ||
11842 | hardcode_into_libs=yes | ||
11843 | ;; | ||
11844 | |||
11845 | haiku*) | ||
11846 | version_type=linux # correct to gnu/linux during the next big refactor | ||
11847 | need_lib_prefix=no | ||
11848 | need_version=no | ||
11849 | dynamic_linker="$host_os runtime_loader" | ||
11850 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' | ||
11851 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11852 | shlibpath_var=LIBRARY_PATH | ||
11853 | shlibpath_overrides_runpath=yes | ||
11854 | sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' | ||
11855 | hardcode_into_libs=yes | ||
11856 | ;; | ||
11857 | |||
11858 | hpux9* | hpux10* | hpux11*) | ||
11859 | # Give a soname corresponding to the major version so that dld.sl refuses to | ||
11860 | # link against other versions. | ||
11861 | version_type=sunos | ||
11862 | need_lib_prefix=no | ||
11863 | need_version=no | ||
11864 | case $host_cpu in | ||
11865 | ia64*) | ||
11866 | shrext_cmds='.so' | ||
11867 | hardcode_into_libs=yes | ||
11868 | dynamic_linker="$host_os dld.so" | ||
11869 | shlibpath_var=LD_LIBRARY_PATH | ||
11870 | shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. | ||
11871 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
11872 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11873 | if test "X$HPUX_IA64_MODE" = X32; then | ||
11874 | sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" | ||
11875 | else | ||
11876 | sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" | ||
11877 | fi | ||
11878 | sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec | ||
11879 | ;; | ||
11880 | hppa*64*) | ||
11881 | shrext_cmds='.sl' | ||
11882 | hardcode_into_libs=yes | ||
11883 | dynamic_linker="$host_os dld.sl" | ||
11884 | shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH | ||
11885 | shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. | ||
11886 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
11887 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11888 | sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" | ||
11889 | sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec | ||
11890 | ;; | ||
11891 | *) | ||
11892 | shrext_cmds='.sl' | ||
11893 | dynamic_linker="$host_os dld.sl" | ||
11894 | shlibpath_var=SHLIB_PATH | ||
11895 | shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH | ||
11896 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
11897 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11898 | ;; | ||
11899 | esac | ||
11900 | # HP-UX runs *really* slowly unless shared libraries are mode 555, ... | ||
11901 | postinstall_cmds='chmod 555 $lib' | ||
11902 | # or fails outright, so override atomically: | ||
11903 | install_override_mode=555 | ||
11904 | ;; | ||
11905 | |||
11906 | interix[3-9]*) | ||
11907 | version_type=linux # correct to gnu/linux during the next big refactor | ||
11908 | need_lib_prefix=no | ||
11909 | need_version=no | ||
11910 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
11911 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11912 | dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' | ||
11913 | shlibpath_var=LD_LIBRARY_PATH | ||
11914 | shlibpath_overrides_runpath=no | ||
11915 | hardcode_into_libs=yes | ||
11916 | ;; | ||
11917 | |||
11918 | irix5* | irix6* | nonstopux*) | ||
11919 | case $host_os in | ||
11920 | nonstopux*) version_type=nonstopux ;; | ||
11921 | *) | ||
11922 | if test "$lt_cv_prog_gnu_ld" = yes; then | ||
11923 | version_type=linux # correct to gnu/linux during the next big refactor | ||
11924 | else | ||
11925 | version_type=irix | ||
11926 | fi ;; | ||
11927 | esac | ||
11928 | need_lib_prefix=no | ||
11929 | need_version=no | ||
11930 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11931 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
11932 | case $host_os in | ||
11933 | irix5* | nonstopux*) | ||
11934 | libsuff= shlibsuff= | ||
11935 | ;; | ||
11936 | *) | ||
11937 | case $LD in # libtool.m4 will add one of these switches to LD | ||
11938 | *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") | ||
11939 | libsuff= shlibsuff= libmagic=32-bit;; | ||
11940 | *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") | ||
11941 | libsuff=32 shlibsuff=N32 libmagic=N32;; | ||
11942 | *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") | ||
11943 | libsuff=64 shlibsuff=64 libmagic=64-bit;; | ||
11944 | *) libsuff= shlibsuff= libmagic=never-match;; | ||
11945 | esac | ||
11946 | ;; | ||
11947 | esac | ||
11948 | shlibpath_var=LD_LIBRARY${shlibsuff}_PATH | ||
11949 | shlibpath_overrides_runpath=no | ||
11950 | sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" | ||
11951 | sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" | ||
11952 | hardcode_into_libs=yes | ||
11953 | ;; | ||
11954 | |||
11955 | # No shared lib support for Linux oldld, aout, or coff. | ||
11956 | linux*oldld* | linux*aout* | linux*coff*) | ||
11957 | dynamic_linker=no | ||
11958 | ;; | ||
11959 | |||
11960 | # This must be glibc/ELF. | ||
11961 | linux* | k*bsd*-gnu | kopensolaris*-gnu) | ||
11962 | version_type=linux # correct to gnu/linux during the next big refactor | ||
11963 | need_lib_prefix=no | ||
11964 | need_version=no | ||
11965 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
11966 | soname_spec='${libname}${release}${shared_ext}$major' | ||
11967 | finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' | ||
11968 | shlibpath_var=LD_LIBRARY_PATH | ||
11969 | shlibpath_overrides_runpath=no | ||
11970 | |||
11971 | # Some binutils ld are patched to set DT_RUNPATH | ||
11972 | if ${lt_cv_shlibpath_overrides_runpath+:} false; then : | ||
11973 | $as_echo_n "(cached) " >&6 | ||
11974 | else | ||
11975 | lt_cv_shlibpath_overrides_runpath=no | ||
11976 | save_LDFLAGS=$LDFLAGS | ||
11977 | save_libdir=$libdir | ||
11978 | eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ | ||
11979 | LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" | ||
11980 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
11981 | /* end confdefs.h. */ | ||
11982 | |||
11983 | int | ||
11984 | main () | ||
11985 | { | ||
11986 | |||
11987 | ; | ||
11988 | return 0; | ||
11989 | } | ||
11990 | _ACEOF | ||
11991 | if ac_fn_c_try_link "$LINENO"; then : | ||
11992 | if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : | ||
11993 | lt_cv_shlibpath_overrides_runpath=yes | ||
11994 | fi | ||
11995 | fi | ||
11996 | rm -f core conftest.err conftest.$ac_objext \ | ||
11997 | conftest$ac_exeext conftest.$ac_ext | ||
11998 | LDFLAGS=$save_LDFLAGS | ||
11999 | libdir=$save_libdir | ||
12000 | |||
12001 | fi | ||
12002 | |||
12003 | shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath | ||
12004 | |||
12005 | # This implies no fast_install, which is unacceptable. | ||
12006 | # Some rework will be needed to allow for fast_install | ||
12007 | # before this can be enabled. | ||
12008 | hardcode_into_libs=yes | ||
12009 | |||
12010 | # Append ld.so.conf contents to the search path | ||
12011 | if test -f /etc/ld.so.conf; then | ||
12012 | lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` | ||
12013 | sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" | ||
12014 | fi | ||
12015 | |||
12016 | # We used to test for /lib/ld.so.1 and disable shared libraries on | ||
12017 | # powerpc, because MkLinux only supported shared libraries with the | ||
12018 | # GNU dynamic linker. Since this was broken with cross compilers, | ||
12019 | # most powerpc-linux boxes support dynamic linking these days and | ||
12020 | # people can always --disable-shared, the test was removed, and we | ||
12021 | # assume the GNU/Linux dynamic linker is in use. | ||
12022 | dynamic_linker='GNU/Linux ld.so' | ||
12023 | ;; | ||
12024 | |||
12025 | netbsd*) | ||
12026 | version_type=sunos | ||
12027 | need_lib_prefix=no | ||
12028 | need_version=no | ||
12029 | if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
12030 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
12031 | finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
12032 | dynamic_linker='NetBSD (a.out) ld.so' | ||
12033 | else | ||
12034 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
12035 | soname_spec='${libname}${release}${shared_ext}$major' | ||
12036 | dynamic_linker='NetBSD ld.elf_so' | ||
12037 | fi | ||
12038 | shlibpath_var=LD_LIBRARY_PATH | ||
12039 | shlibpath_overrides_runpath=yes | ||
12040 | hardcode_into_libs=yes | ||
12041 | ;; | ||
12042 | |||
12043 | newsos6) | ||
12044 | version_type=linux # correct to gnu/linux during the next big refactor | ||
12045 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
12046 | shlibpath_var=LD_LIBRARY_PATH | ||
12047 | shlibpath_overrides_runpath=yes | ||
12048 | ;; | ||
12049 | |||
12050 | *nto* | *qnx*) | ||
12051 | version_type=qnx | ||
12052 | need_lib_prefix=no | ||
12053 | need_version=no | ||
12054 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
12055 | soname_spec='${libname}${release}${shared_ext}$major' | ||
12056 | shlibpath_var=LD_LIBRARY_PATH | ||
12057 | shlibpath_overrides_runpath=no | ||
12058 | hardcode_into_libs=yes | ||
12059 | dynamic_linker='ldqnx.so' | ||
12060 | ;; | ||
12061 | |||
12062 | openbsd*) | ||
12063 | version_type=sunos | ||
12064 | sys_lib_dlsearch_path_spec="/usr/lib" | ||
12065 | need_lib_prefix=no | ||
12066 | # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. | ||
12067 | case $host_os in | ||
12068 | openbsd3.3 | openbsd3.3.*) need_version=yes ;; | ||
12069 | *) need_version=no ;; | ||
12070 | esac | ||
12071 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
12072 | finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
12073 | shlibpath_var=LD_LIBRARY_PATH | ||
12074 | if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
12075 | case $host_os in | ||
12076 | openbsd2.[89] | openbsd2.[89].*) | ||
12077 | shlibpath_overrides_runpath=no | ||
12078 | ;; | ||
12079 | *) | ||
12080 | shlibpath_overrides_runpath=yes | ||
12081 | ;; | ||
12082 | esac | ||
12083 | else | ||
12084 | shlibpath_overrides_runpath=yes | ||
12085 | fi | ||
12086 | ;; | ||
12087 | |||
12088 | os2*) | ||
12089 | libname_spec='$name' | ||
12090 | shrext_cmds=".dll" | ||
12091 | need_lib_prefix=no | ||
12092 | library_names_spec='$libname${shared_ext} $libname.a' | ||
12093 | dynamic_linker='OS/2 ld.exe' | ||
12094 | shlibpath_var=LIBPATH | ||
12095 | ;; | ||
12096 | |||
12097 | osf3* | osf4* | osf5*) | ||
12098 | version_type=osf | ||
12099 | need_lib_prefix=no | ||
12100 | need_version=no | ||
12101 | soname_spec='${libname}${release}${shared_ext}$major' | ||
12102 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
12103 | shlibpath_var=LD_LIBRARY_PATH | ||
12104 | sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" | ||
12105 | sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" | ||
12106 | ;; | ||
12107 | |||
12108 | rdos*) | ||
12109 | dynamic_linker=no | ||
12110 | ;; | ||
12111 | |||
12112 | solaris*) | ||
12113 | version_type=linux # correct to gnu/linux during the next big refactor | ||
12114 | need_lib_prefix=no | ||
12115 | need_version=no | ||
12116 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
12117 | soname_spec='${libname}${release}${shared_ext}$major' | ||
12118 | shlibpath_var=LD_LIBRARY_PATH | ||
12119 | shlibpath_overrides_runpath=yes | ||
12120 | hardcode_into_libs=yes | ||
12121 | # ldd complains unless libraries are executable | ||
12122 | postinstall_cmds='chmod +x $lib' | ||
12123 | ;; | ||
12124 | |||
12125 | sunos4*) | ||
12126 | version_type=sunos | ||
12127 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
12128 | finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' | ||
12129 | shlibpath_var=LD_LIBRARY_PATH | ||
12130 | shlibpath_overrides_runpath=yes | ||
12131 | if test "$with_gnu_ld" = yes; then | ||
12132 | need_lib_prefix=no | ||
12133 | fi | ||
12134 | need_version=yes | ||
12135 | ;; | ||
12136 | |||
12137 | sysv4 | sysv4.3*) | ||
12138 | version_type=linux # correct to gnu/linux during the next big refactor | ||
12139 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
12140 | soname_spec='${libname}${release}${shared_ext}$major' | ||
12141 | shlibpath_var=LD_LIBRARY_PATH | ||
12142 | case $host_vendor in | ||
12143 | sni) | ||
12144 | shlibpath_overrides_runpath=no | ||
12145 | need_lib_prefix=no | ||
12146 | runpath_var=LD_RUN_PATH | ||
12147 | ;; | ||
12148 | siemens) | ||
12149 | need_lib_prefix=no | ||
12150 | ;; | ||
12151 | motorola) | ||
12152 | need_lib_prefix=no | ||
12153 | need_version=no | ||
12154 | shlibpath_overrides_runpath=no | ||
12155 | sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' | ||
12156 | ;; | ||
12157 | esac | ||
12158 | ;; | ||
12159 | |||
12160 | sysv4*MP*) | ||
12161 | if test -d /usr/nec ;then | ||
12162 | version_type=linux # correct to gnu/linux during the next big refactor | ||
12163 | library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' | ||
12164 | soname_spec='$libname${shared_ext}.$major' | ||
12165 | shlibpath_var=LD_LIBRARY_PATH | ||
12166 | fi | ||
12167 | ;; | ||
12168 | |||
12169 | sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) | ||
12170 | version_type=freebsd-elf | ||
12171 | need_lib_prefix=no | ||
12172 | need_version=no | ||
12173 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
12174 | soname_spec='${libname}${release}${shared_ext}$major' | ||
12175 | shlibpath_var=LD_LIBRARY_PATH | ||
12176 | shlibpath_overrides_runpath=yes | ||
12177 | hardcode_into_libs=yes | ||
12178 | if test "$with_gnu_ld" = yes; then | ||
12179 | sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' | ||
12180 | else | ||
12181 | sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' | ||
12182 | case $host_os in | ||
12183 | sco3.2v5*) | ||
12184 | sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" | ||
12185 | ;; | ||
12186 | esac | ||
12187 | fi | ||
12188 | sys_lib_dlsearch_path_spec='/usr/lib' | ||
12189 | ;; | ||
12190 | |||
12191 | tpf*) | ||
12192 | # TPF is a cross-target only. Preferred cross-host = GNU/Linux. | ||
12193 | version_type=linux # correct to gnu/linux during the next big refactor | ||
12194 | need_lib_prefix=no | ||
12195 | need_version=no | ||
12196 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
12197 | shlibpath_var=LD_LIBRARY_PATH | ||
12198 | shlibpath_overrides_runpath=no | ||
12199 | hardcode_into_libs=yes | ||
12200 | ;; | ||
12201 | |||
12202 | uts4*) | ||
12203 | version_type=linux # correct to gnu/linux during the next big refactor | ||
12204 | library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
12205 | soname_spec='${libname}${release}${shared_ext}$major' | ||
12206 | shlibpath_var=LD_LIBRARY_PATH | ||
12207 | ;; | ||
12208 | |||
12209 | *) | ||
12210 | dynamic_linker=no | ||
12211 | ;; | ||
12212 | esac | ||
12213 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 | ||
12214 | $as_echo "$dynamic_linker" >&6; } | ||
12215 | test "$dynamic_linker" = no && can_build_shared=no | ||
12216 | |||
12217 | variables_saved_for_relink="PATH $shlibpath_var $runpath_var" | ||
12218 | if test "$GCC" = yes; then | ||
12219 | variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" | ||
12220 | fi | ||
12221 | |||
12222 | if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then | ||
12223 | sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" | ||
12224 | fi | ||
12225 | if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then | ||
12226 | sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" | ||
12227 | fi | ||
12228 | |||
12229 | |||
12230 | |||
12231 | |||
12232 | |||
12233 | |||
12234 | |||
12235 | |||
12236 | |||
12237 | |||
12238 | |||
12239 | |||
12240 | |||
12241 | |||
12242 | |||
12243 | |||
12244 | |||
12245 | |||
12246 | |||
12247 | |||
12248 | |||
12249 | |||
12250 | |||
12251 | |||
12252 | |||
12253 | |||
12254 | |||
12255 | |||
12256 | |||
12257 | |||
12258 | |||
12259 | |||
12260 | |||
12261 | |||
12262 | |||
12263 | |||
12264 | |||
12265 | |||
12266 | |||
12267 | |||
12268 | |||
12269 | |||
12270 | |||
12271 | |||
12272 | |||
12273 | |||
12274 | |||
12275 | |||
12276 | |||
12277 | |||
12278 | |||
12279 | |||
12280 | |||
12281 | |||
12282 | |||
12283 | |||
12284 | |||
12285 | |||
12286 | |||
12287 | |||
12288 | |||
12289 | |||
12290 | |||
12291 | |||
12292 | |||
12293 | |||
12294 | |||
12295 | |||
12296 | |||
12297 | |||
12298 | |||
12299 | |||
12300 | |||
12301 | |||
12302 | |||
12303 | |||
12304 | |||
12305 | |||
12306 | |||
12307 | |||
12308 | |||
12309 | |||
12310 | |||
12311 | |||
12312 | |||
12313 | |||
12314 | |||
12315 | |||
12316 | |||
12317 | |||
12318 | |||
12319 | |||
12320 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 | ||
12321 | $as_echo_n "checking how to hardcode library paths into programs... " >&6; } | ||
12322 | hardcode_action= | ||
12323 | if test -n "$hardcode_libdir_flag_spec" || | ||
12324 | test -n "$runpath_var" || | ||
12325 | test "X$hardcode_automatic" = "Xyes" ; then | ||
12326 | |||
12327 | # We can hardcode non-existent directories. | ||
12328 | if test "$hardcode_direct" != no && | ||
12329 | # If the only mechanism to avoid hardcoding is shlibpath_var, we | ||
12330 | # have to relink, otherwise we might link with an installed library | ||
12331 | # when we should be linking with a yet-to-be-installed one | ||
12332 | ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && | ||
12333 | test "$hardcode_minus_L" != no; then | ||
12334 | # Linking always hardcodes the temporary library directory. | ||
12335 | hardcode_action=relink | ||
12336 | else | ||
12337 | # We can link without hardcoding, and we can hardcode nonexisting dirs. | ||
12338 | hardcode_action=immediate | ||
12339 | fi | ||
12340 | else | ||
12341 | # We cannot hardcode anything, or else we can only hardcode existing | ||
12342 | # directories. | ||
12343 | hardcode_action=unsupported | ||
12344 | fi | ||
12345 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 | ||
12346 | $as_echo "$hardcode_action" >&6; } | ||
12347 | |||
12348 | if test "$hardcode_action" = relink || | ||
12349 | test "$inherit_rpath" = yes; then | ||
12350 | # Fast installation is not supported | ||
12351 | enable_fast_install=no | ||
12352 | elif test "$shlibpath_overrides_runpath" = yes || | ||
12353 | test "$enable_shared" = no; then | ||
12354 | # Fast installation is not necessary | ||
12355 | enable_fast_install=needless | ||
12356 | fi | ||
12357 | |||
12358 | |||
12359 | |||
12360 | |||
12361 | |||
12362 | |||
12363 | if test "x$enable_dlopen" != xyes; then | ||
12364 | enable_dlopen=unknown | ||
12365 | enable_dlopen_self=unknown | ||
12366 | enable_dlopen_self_static=unknown | ||
12367 | else | ||
12368 | lt_cv_dlopen=no | ||
12369 | lt_cv_dlopen_libs= | ||
12370 | |||
12371 | case $host_os in | ||
12372 | beos*) | ||
12373 | lt_cv_dlopen="load_add_on" | ||
12374 | lt_cv_dlopen_libs= | ||
12375 | lt_cv_dlopen_self=yes | ||
12376 | ;; | ||
12377 | |||
12378 | mingw* | pw32* | cegcc*) | ||
12379 | lt_cv_dlopen="LoadLibrary" | ||
12380 | lt_cv_dlopen_libs= | ||
12381 | ;; | ||
12382 | |||
12383 | cygwin*) | ||
12384 | lt_cv_dlopen="dlopen" | ||
12385 | lt_cv_dlopen_libs= | ||
12386 | ;; | ||
12387 | |||
12388 | darwin*) | ||
12389 | # if libdl is installed we need to link against it | ||
12390 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 | ||
12391 | $as_echo_n "checking for dlopen in -ldl... " >&6; } | ||
12392 | if ${ac_cv_lib_dl_dlopen+:} false; then : | ||
12393 | $as_echo_n "(cached) " >&6 | ||
12394 | else | ||
12395 | ac_check_lib_save_LIBS=$LIBS | ||
12396 | LIBS="-ldl $LIBS" | ||
12397 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
12398 | /* end confdefs.h. */ | ||
12399 | |||
12400 | /* Override any GCC internal prototype to avoid an error. | ||
12401 | Use char because int might match the return type of a GCC | ||
12402 | builtin and then its argument prototype would still apply. */ | ||
12403 | #ifdef __cplusplus | ||
12404 | extern "C" | ||
12405 | #endif | ||
12406 | char dlopen (); | ||
12407 | int | ||
12408 | main () | ||
12409 | { | ||
12410 | return dlopen (); | ||
12411 | ; | ||
12412 | return 0; | ||
12413 | } | ||
12414 | _ACEOF | ||
12415 | if ac_fn_c_try_link "$LINENO"; then : | ||
12416 | ac_cv_lib_dl_dlopen=yes | ||
12417 | else | ||
12418 | ac_cv_lib_dl_dlopen=no | ||
12419 | fi | ||
12420 | rm -f core conftest.err conftest.$ac_objext \ | ||
12421 | conftest$ac_exeext conftest.$ac_ext | ||
12422 | LIBS=$ac_check_lib_save_LIBS | ||
12423 | fi | ||
12424 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 | ||
12425 | $as_echo "$ac_cv_lib_dl_dlopen" >&6; } | ||
12426 | if test "x$ac_cv_lib_dl_dlopen" = xyes; then : | ||
12427 | lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" | ||
12428 | else | ||
12429 | |||
12430 | lt_cv_dlopen="dyld" | ||
12431 | lt_cv_dlopen_libs= | ||
12432 | lt_cv_dlopen_self=yes | ||
12433 | |||
12434 | fi | ||
12435 | |||
12436 | ;; | ||
12437 | |||
12438 | *) | ||
12439 | ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" | ||
12440 | if test "x$ac_cv_func_shl_load" = xyes; then : | ||
12441 | lt_cv_dlopen="shl_load" | ||
12442 | else | ||
12443 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 | ||
12444 | $as_echo_n "checking for shl_load in -ldld... " >&6; } | ||
12445 | if ${ac_cv_lib_dld_shl_load+:} false; then : | ||
12446 | $as_echo_n "(cached) " >&6 | ||
12447 | else | ||
12448 | ac_check_lib_save_LIBS=$LIBS | ||
12449 | LIBS="-ldld $LIBS" | ||
12450 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
12451 | /* end confdefs.h. */ | ||
12452 | |||
12453 | /* Override any GCC internal prototype to avoid an error. | ||
12454 | Use char because int might match the return type of a GCC | ||
12455 | builtin and then its argument prototype would still apply. */ | ||
12456 | #ifdef __cplusplus | ||
12457 | extern "C" | ||
12458 | #endif | ||
12459 | char shl_load (); | ||
12460 | int | ||
12461 | main () | ||
12462 | { | ||
12463 | return shl_load (); | ||
12464 | ; | ||
12465 | return 0; | ||
12466 | } | ||
12467 | _ACEOF | ||
12468 | if ac_fn_c_try_link "$LINENO"; then : | ||
12469 | ac_cv_lib_dld_shl_load=yes | ||
12470 | else | ||
12471 | ac_cv_lib_dld_shl_load=no | ||
12472 | fi | ||
12473 | rm -f core conftest.err conftest.$ac_objext \ | ||
12474 | conftest$ac_exeext conftest.$ac_ext | ||
12475 | LIBS=$ac_check_lib_save_LIBS | ||
12476 | fi | ||
12477 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 | ||
12478 | $as_echo "$ac_cv_lib_dld_shl_load" >&6; } | ||
12479 | if test "x$ac_cv_lib_dld_shl_load" = xyes; then : | ||
12480 | lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" | ||
12481 | else | ||
12482 | ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" | ||
12483 | if test "x$ac_cv_func_dlopen" = xyes; then : | ||
12484 | lt_cv_dlopen="dlopen" | ||
12485 | else | ||
12486 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 | ||
12487 | $as_echo_n "checking for dlopen in -ldl... " >&6; } | ||
12488 | if ${ac_cv_lib_dl_dlopen+:} false; then : | ||
12489 | $as_echo_n "(cached) " >&6 | ||
12490 | else | ||
12491 | ac_check_lib_save_LIBS=$LIBS | ||
12492 | LIBS="-ldl $LIBS" | ||
12493 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
12494 | /* end confdefs.h. */ | ||
12495 | |||
12496 | /* Override any GCC internal prototype to avoid an error. | ||
12497 | Use char because int might match the return type of a GCC | ||
12498 | builtin and then its argument prototype would still apply. */ | ||
12499 | #ifdef __cplusplus | ||
12500 | extern "C" | ||
12501 | #endif | ||
12502 | char dlopen (); | ||
12503 | int | ||
12504 | main () | ||
12505 | { | ||
12506 | return dlopen (); | ||
12507 | ; | ||
12508 | return 0; | ||
12509 | } | ||
12510 | _ACEOF | ||
12511 | if ac_fn_c_try_link "$LINENO"; then : | ||
12512 | ac_cv_lib_dl_dlopen=yes | ||
12513 | else | ||
12514 | ac_cv_lib_dl_dlopen=no | ||
12515 | fi | ||
12516 | rm -f core conftest.err conftest.$ac_objext \ | ||
12517 | conftest$ac_exeext conftest.$ac_ext | ||
12518 | LIBS=$ac_check_lib_save_LIBS | ||
12519 | fi | ||
12520 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 | ||
12521 | $as_echo "$ac_cv_lib_dl_dlopen" >&6; } | ||
12522 | if test "x$ac_cv_lib_dl_dlopen" = xyes; then : | ||
12523 | lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" | ||
12524 | else | ||
12525 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 | ||
12526 | $as_echo_n "checking for dlopen in -lsvld... " >&6; } | ||
12527 | if ${ac_cv_lib_svld_dlopen+:} false; then : | ||
12528 | $as_echo_n "(cached) " >&6 | ||
12529 | else | ||
12530 | ac_check_lib_save_LIBS=$LIBS | ||
12531 | LIBS="-lsvld $LIBS" | ||
12532 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
12533 | /* end confdefs.h. */ | ||
12534 | |||
12535 | /* Override any GCC internal prototype to avoid an error. | ||
12536 | Use char because int might match the return type of a GCC | ||
12537 | builtin and then its argument prototype would still apply. */ | ||
12538 | #ifdef __cplusplus | ||
12539 | extern "C" | ||
12540 | #endif | ||
12541 | char dlopen (); | ||
12542 | int | ||
12543 | main () | ||
12544 | { | ||
12545 | return dlopen (); | ||
12546 | ; | ||
12547 | return 0; | ||
12548 | } | ||
12549 | _ACEOF | ||
12550 | if ac_fn_c_try_link "$LINENO"; then : | ||
12551 | ac_cv_lib_svld_dlopen=yes | ||
12552 | else | ||
12553 | ac_cv_lib_svld_dlopen=no | ||
12554 | fi | ||
12555 | rm -f core conftest.err conftest.$ac_objext \ | ||
12556 | conftest$ac_exeext conftest.$ac_ext | ||
12557 | LIBS=$ac_check_lib_save_LIBS | ||
12558 | fi | ||
12559 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 | ||
12560 | $as_echo "$ac_cv_lib_svld_dlopen" >&6; } | ||
12561 | if test "x$ac_cv_lib_svld_dlopen" = xyes; then : | ||
12562 | lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" | ||
12563 | else | ||
12564 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 | ||
12565 | $as_echo_n "checking for dld_link in -ldld... " >&6; } | ||
12566 | if ${ac_cv_lib_dld_dld_link+:} false; then : | ||
12567 | $as_echo_n "(cached) " >&6 | ||
12568 | else | ||
12569 | ac_check_lib_save_LIBS=$LIBS | ||
12570 | LIBS="-ldld $LIBS" | ||
12571 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
12572 | /* end confdefs.h. */ | ||
12573 | |||
12574 | /* Override any GCC internal prototype to avoid an error. | ||
12575 | Use char because int might match the return type of a GCC | ||
12576 | builtin and then its argument prototype would still apply. */ | ||
12577 | #ifdef __cplusplus | ||
12578 | extern "C" | ||
12579 | #endif | ||
12580 | char dld_link (); | ||
12581 | int | ||
12582 | main () | ||
12583 | { | ||
12584 | return dld_link (); | ||
12585 | ; | ||
12586 | return 0; | ||
12587 | } | ||
12588 | _ACEOF | ||
12589 | if ac_fn_c_try_link "$LINENO"; then : | ||
12590 | ac_cv_lib_dld_dld_link=yes | ||
12591 | else | ||
12592 | ac_cv_lib_dld_dld_link=no | ||
12593 | fi | ||
12594 | rm -f core conftest.err conftest.$ac_objext \ | ||
12595 | conftest$ac_exeext conftest.$ac_ext | ||
12596 | LIBS=$ac_check_lib_save_LIBS | ||
12597 | fi | ||
12598 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 | ||
12599 | $as_echo "$ac_cv_lib_dld_dld_link" >&6; } | ||
12600 | if test "x$ac_cv_lib_dld_dld_link" = xyes; then : | ||
12601 | lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" | ||
12602 | fi | ||
12603 | |||
12604 | |||
12605 | fi | ||
12606 | |||
12607 | |||
12608 | fi | ||
12609 | |||
12610 | |||
12611 | fi | ||
12612 | |||
12613 | |||
12614 | fi | ||
12615 | |||
12616 | |||
12617 | fi | ||
12618 | |||
12619 | ;; | ||
12620 | esac | ||
12621 | |||
12622 | if test "x$lt_cv_dlopen" != xno; then | ||
12623 | enable_dlopen=yes | ||
12624 | else | ||
12625 | enable_dlopen=no | ||
12626 | fi | ||
12627 | |||
12628 | case $lt_cv_dlopen in | ||
12629 | dlopen) | ||
12630 | save_CPPFLAGS="$CPPFLAGS" | ||
12631 | test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" | ||
12632 | |||
12633 | save_LDFLAGS="$LDFLAGS" | ||
12634 | wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" | ||
12635 | |||
12636 | save_LIBS="$LIBS" | ||
12637 | LIBS="$lt_cv_dlopen_libs $LIBS" | ||
12638 | |||
12639 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 | ||
12640 | $as_echo_n "checking whether a program can dlopen itself... " >&6; } | ||
12641 | if ${lt_cv_dlopen_self+:} false; then : | ||
12642 | $as_echo_n "(cached) " >&6 | ||
12643 | else | ||
12644 | if test "$cross_compiling" = yes; then : | ||
12645 | lt_cv_dlopen_self=cross | ||
12646 | else | ||
12647 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | ||
12648 | lt_status=$lt_dlunknown | ||
12649 | cat > conftest.$ac_ext <<_LT_EOF | ||
12650 | #line $LINENO "configure" | ||
12651 | #include "confdefs.h" | ||
12652 | |||
12653 | #if HAVE_DLFCN_H | ||
12654 | #include <dlfcn.h> | ||
12655 | #endif | ||
12656 | |||
12657 | #include <stdio.h> | ||
12658 | |||
12659 | #ifdef RTLD_GLOBAL | ||
12660 | # define LT_DLGLOBAL RTLD_GLOBAL | ||
12661 | #else | ||
12662 | # ifdef DL_GLOBAL | ||
12663 | # define LT_DLGLOBAL DL_GLOBAL | ||
12664 | # else | ||
12665 | # define LT_DLGLOBAL 0 | ||
12666 | # endif | ||
12667 | #endif | ||
12668 | |||
12669 | /* We may have to define LT_DLLAZY_OR_NOW in the command line if we | ||
12670 | find out it does not work in some platform. */ | ||
12671 | #ifndef LT_DLLAZY_OR_NOW | ||
12672 | # ifdef RTLD_LAZY | ||
12673 | # define LT_DLLAZY_OR_NOW RTLD_LAZY | ||
12674 | # else | ||
12675 | # ifdef DL_LAZY | ||
12676 | # define LT_DLLAZY_OR_NOW DL_LAZY | ||
12677 | # else | ||
12678 | # ifdef RTLD_NOW | ||
12679 | # define LT_DLLAZY_OR_NOW RTLD_NOW | ||
12680 | # else | ||
12681 | # ifdef DL_NOW | ||
12682 | # define LT_DLLAZY_OR_NOW DL_NOW | ||
12683 | # else | ||
12684 | # define LT_DLLAZY_OR_NOW 0 | ||
12685 | # endif | ||
12686 | # endif | ||
12687 | # endif | ||
12688 | # endif | ||
12689 | #endif | ||
12690 | |||
12691 | /* When -fvisbility=hidden is used, assume the code has been annotated | ||
12692 | correspondingly for the symbols needed. */ | ||
12693 | #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) | ||
12694 | int fnord () __attribute__((visibility("default"))); | ||
12695 | #endif | ||
12696 | |||
12697 | int fnord () { return 42; } | ||
12698 | int main () | ||
12699 | { | ||
12700 | void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); | ||
12701 | int status = $lt_dlunknown; | ||
12702 | |||
12703 | if (self) | ||
12704 | { | ||
12705 | if (dlsym (self,"fnord")) status = $lt_dlno_uscore; | ||
12706 | else | ||
12707 | { | ||
12708 | if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; | ||
12709 | else puts (dlerror ()); | ||
12710 | } | ||
12711 | /* dlclose (self); */ | ||
12712 | } | ||
12713 | else | ||
12714 | puts (dlerror ()); | ||
12715 | |||
12716 | return status; | ||
12717 | } | ||
12718 | _LT_EOF | ||
12719 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 | ||
12720 | (eval $ac_link) 2>&5 | ||
12721 | ac_status=$? | ||
12722 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
12723 | test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then | ||
12724 | (./conftest; exit; ) >&5 2>/dev/null | ||
12725 | lt_status=$? | ||
12726 | case x$lt_status in | ||
12727 | x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; | ||
12728 | x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; | ||
12729 | x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; | ||
12730 | esac | ||
12731 | else : | ||
12732 | # compilation failed | ||
12733 | lt_cv_dlopen_self=no | ||
12734 | fi | ||
12735 | fi | ||
12736 | rm -fr conftest* | ||
12737 | |||
12738 | |||
12739 | fi | ||
12740 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 | ||
12741 | $as_echo "$lt_cv_dlopen_self" >&6; } | ||
12742 | |||
12743 | if test "x$lt_cv_dlopen_self" = xyes; then | ||
12744 | wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" | ||
12745 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 | ||
12746 | $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } | ||
12747 | if ${lt_cv_dlopen_self_static+:} false; then : | ||
12748 | $as_echo_n "(cached) " >&6 | ||
12749 | else | ||
12750 | if test "$cross_compiling" = yes; then : | ||
12751 | lt_cv_dlopen_self_static=cross | ||
12752 | else | ||
12753 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | ||
12754 | lt_status=$lt_dlunknown | ||
12755 | cat > conftest.$ac_ext <<_LT_EOF | ||
12756 | #line $LINENO "configure" | ||
12757 | #include "confdefs.h" | ||
12758 | |||
12759 | #if HAVE_DLFCN_H | ||
12760 | #include <dlfcn.h> | ||
12761 | #endif | ||
12762 | |||
12763 | #include <stdio.h> | ||
12764 | |||
12765 | #ifdef RTLD_GLOBAL | ||
12766 | # define LT_DLGLOBAL RTLD_GLOBAL | ||
12767 | #else | ||
12768 | # ifdef DL_GLOBAL | ||
12769 | # define LT_DLGLOBAL DL_GLOBAL | ||
12770 | # else | ||
12771 | # define LT_DLGLOBAL 0 | ||
12772 | # endif | ||
12773 | #endif | ||
12774 | |||
12775 | /* We may have to define LT_DLLAZY_OR_NOW in the command line if we | ||
12776 | find out it does not work in some platform. */ | ||
12777 | #ifndef LT_DLLAZY_OR_NOW | ||
12778 | # ifdef RTLD_LAZY | ||
12779 | # define LT_DLLAZY_OR_NOW RTLD_LAZY | ||
12780 | # else | ||
12781 | # ifdef DL_LAZY | ||
12782 | # define LT_DLLAZY_OR_NOW DL_LAZY | ||
12783 | # else | ||
12784 | # ifdef RTLD_NOW | ||
12785 | # define LT_DLLAZY_OR_NOW RTLD_NOW | ||
12786 | # else | ||
12787 | # ifdef DL_NOW | ||
12788 | # define LT_DLLAZY_OR_NOW DL_NOW | ||
12789 | # else | ||
12790 | # define LT_DLLAZY_OR_NOW 0 | ||
12791 | # endif | ||
12792 | # endif | ||
12793 | # endif | ||
12794 | # endif | ||
12795 | #endif | ||
12796 | |||
12797 | /* When -fvisbility=hidden is used, assume the code has been annotated | ||
12798 | correspondingly for the symbols needed. */ | ||
12799 | #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) | ||
12800 | int fnord () __attribute__((visibility("default"))); | ||
12801 | #endif | ||
12802 | |||
12803 | int fnord () { return 42; } | ||
12804 | int main () | ||
12805 | { | ||
12806 | void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); | ||
12807 | int status = $lt_dlunknown; | ||
12808 | |||
12809 | if (self) | ||
12810 | { | ||
12811 | if (dlsym (self,"fnord")) status = $lt_dlno_uscore; | ||
12812 | else | ||
12813 | { | ||
12814 | if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; | ||
12815 | else puts (dlerror ()); | ||
12816 | } | ||
12817 | /* dlclose (self); */ | ||
12818 | } | ||
12819 | else | ||
12820 | puts (dlerror ()); | ||
12821 | |||
12822 | return status; | ||
12823 | } | ||
12824 | _LT_EOF | ||
12825 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 | ||
12826 | (eval $ac_link) 2>&5 | ||
12827 | ac_status=$? | ||
12828 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
12829 | test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then | ||
12830 | (./conftest; exit; ) >&5 2>/dev/null | ||
12831 | lt_status=$? | ||
12832 | case x$lt_status in | ||
12833 | x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; | ||
12834 | x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; | ||
12835 | x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; | ||
12836 | esac | ||
12837 | else : | ||
12838 | # compilation failed | ||
12839 | lt_cv_dlopen_self_static=no | ||
12840 | fi | ||
12841 | fi | ||
12842 | rm -fr conftest* | ||
12843 | |||
12844 | |||
12845 | fi | ||
12846 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 | ||
12847 | $as_echo "$lt_cv_dlopen_self_static" >&6; } | ||
12848 | fi | ||
12849 | |||
12850 | CPPFLAGS="$save_CPPFLAGS" | ||
12851 | LDFLAGS="$save_LDFLAGS" | ||
12852 | LIBS="$save_LIBS" | ||
12853 | ;; | ||
12854 | esac | ||
12855 | |||
12856 | case $lt_cv_dlopen_self in | ||
12857 | yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; | ||
12858 | *) enable_dlopen_self=unknown ;; | ||
12859 | esac | ||
12860 | |||
12861 | case $lt_cv_dlopen_self_static in | ||
12862 | yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; | ||
12863 | *) enable_dlopen_self_static=unknown ;; | ||
12864 | esac | ||
12865 | fi | ||
12866 | |||
12867 | |||
12868 | |||
12869 | |||
12870 | |||
12871 | |||
12872 | |||
12873 | |||
12874 | |||
12875 | |||
12876 | |||
12877 | |||
12878 | |||
12879 | |||
12880 | |||
12881 | |||
12882 | |||
12883 | striplib= | ||
12884 | old_striplib= | ||
12885 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 | ||
12886 | $as_echo_n "checking whether stripping libraries is possible... " >&6; } | ||
12887 | if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then | ||
12888 | test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" | ||
12889 | test -z "$striplib" && striplib="$STRIP --strip-unneeded" | ||
12890 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
12891 | $as_echo "yes" >&6; } | ||
12892 | else | ||
12893 | # FIXME - insert some real tests, host_os isn't really good enough | ||
12894 | case $host_os in | ||
12895 | darwin*) | ||
12896 | if test -n "$STRIP" ; then | ||
12897 | striplib="$STRIP -x" | ||
12898 | old_striplib="$STRIP -S" | ||
12899 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
12900 | $as_echo "yes" >&6; } | ||
12901 | else | ||
12902 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
12903 | $as_echo "no" >&6; } | ||
12904 | fi | ||
12905 | ;; | ||
12906 | *) | ||
12907 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
12908 | $as_echo "no" >&6; } | ||
12909 | ;; | ||
12910 | esac | ||
12911 | fi | ||
12912 | |||
12913 | |||
12914 | |||
12915 | |||
12916 | |||
12917 | |||
12918 | |||
12919 | |||
12920 | |||
12921 | |||
12922 | |||
12923 | |||
12924 | # Report which library types will actually be built | ||
12925 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 | ||
12926 | $as_echo_n "checking if libtool supports shared libraries... " >&6; } | ||
12927 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 | ||
12928 | $as_echo "$can_build_shared" >&6; } | ||
12929 | |||
12930 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 | ||
12931 | $as_echo_n "checking whether to build shared libraries... " >&6; } | ||
12932 | test "$can_build_shared" = "no" && enable_shared=no | ||
12933 | |||
12934 | # On AIX, shared libraries and static libraries use the same namespace, and | ||
12935 | # are all built from PIC. | ||
12936 | case $host_os in | ||
12937 | aix3*) | ||
12938 | test "$enable_shared" = yes && enable_static=no | ||
12939 | if test -n "$RANLIB"; then | ||
12940 | archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
12941 | postinstall_cmds='$RANLIB $lib' | ||
12942 | fi | ||
12943 | ;; | ||
12944 | |||
12945 | aix[4-9]*) | ||
12946 | if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
12947 | test "$enable_shared" = yes && enable_static=no | ||
12948 | fi | ||
12949 | ;; | ||
12950 | esac | ||
12951 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 | ||
12952 | $as_echo "$enable_shared" >&6; } | ||
12953 | |||
12954 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 | ||
12955 | $as_echo_n "checking whether to build static libraries... " >&6; } | ||
12956 | # Make sure either enable_shared or enable_static is yes. | ||
12957 | test "$enable_shared" = yes || enable_static=yes | ||
12958 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 | ||
12959 | $as_echo "$enable_static" >&6; } | ||
12960 | |||
12961 | |||
12962 | |||
12963 | |||
12964 | fi | ||
12965 | ac_ext=c | ||
12966 | ac_cpp='$CPP $CPPFLAGS' | ||
12967 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
12968 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
12969 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
12970 | |||
12971 | CC="$lt_save_CC" | ||
12972 | |||
12973 | |||
12974 | |||
12975 | |||
12976 | |||
12977 | |||
12978 | |||
12979 | |||
12980 | |||
12981 | |||
12982 | |||
12983 | |||
12984 | |||
12985 | |||
12986 | |||
12987 | ac_config_commands="$ac_config_commands libtool" | ||
12988 | |||
12989 | |||
12990 | |||
12991 | |||
12992 | # Only expand once: | ||
12993 | |||
12994 | |||
12995 | |||
12996 | # Select memory manager depending on user input. | ||
12997 | # If no "-enable-maxmem", use jmemnobs | ||
12998 | MEMORYMGR='jmemnobs' | ||
12999 | MAXMEM="no" | ||
13000 | # Check whether --enable-maxmem was given. | ||
13001 | if test "${enable_maxmem+set}" = set; then : | ||
13002 | enableval=$enable_maxmem; MAXMEM="$enableval" | ||
13003 | fi | ||
13004 | |||
13005 | if test "x$MAXMEM" = xyes; then | ||
13006 | MAXMEM=1 | ||
13007 | fi | ||
13008 | if test "x$MAXMEM" != xno; then | ||
13009 | if test -n "`echo $MAXMEM | sed 's/[0-9]//g'`"; then | ||
13010 | as_fn_error $? "non-numeric argument to --enable-maxmem" "$LINENO" 5 | ||
13011 | fi | ||
13012 | DEFAULTMAXMEM=`expr $MAXMEM \* 1048576` | ||
13013 | |||
13014 | cat >>confdefs.h <<_ACEOF | ||
13015 | #define DEFAULT_MAX_MEM ${DEFAULTMAXMEM} | ||
13016 | _ACEOF | ||
13017 | |||
13018 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 'tmpfile()'" >&5 | ||
13019 | $as_echo_n "checking for 'tmpfile()'... " >&6; } | ||
13020 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
13021 | /* end confdefs.h. */ | ||
13022 | #include <stdio.h> | ||
13023 | int | ||
13024 | main () | ||
13025 | { | ||
13026 | FILE * tfile = tmpfile(); | ||
13027 | ; | ||
13028 | return 0; | ||
13029 | } | ||
13030 | _ACEOF | ||
13031 | if ac_fn_c_try_link "$LINENO"; then : | ||
13032 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
13033 | $as_echo "yes" >&6; } | ||
13034 | MEMORYMGR='jmemansi' | ||
13035 | else | ||
13036 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
13037 | $as_echo "no" >&6; } | ||
13038 | MEMORYMGR='jmemname' | ||
13039 | |||
13040 | # Test for the need to remove temporary files using a signal handler | ||
13041 | # (for cjpeg/djpeg) | ||
13042 | |||
13043 | $as_echo "#define NEED_SIGNAL_CATCHER 1" >>confdefs.h | ||
13044 | |||
13045 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 'mktemp()'" >&5 | ||
13046 | $as_echo_n "checking for 'mktemp()'... " >&6; } | ||
13047 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
13048 | /* end confdefs.h. */ | ||
13049 | |||
13050 | int | ||
13051 | main () | ||
13052 | { | ||
13053 | char fname[80]; mktemp(fname); | ||
13054 | ; | ||
13055 | return 0; | ||
13056 | } | ||
13057 | _ACEOF | ||
13058 | if ac_fn_c_try_link "$LINENO"; then : | ||
13059 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
13060 | $as_echo "yes" >&6; } | ||
13061 | else | ||
13062 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
13063 | $as_echo "no" >&6; } | ||
13064 | |||
13065 | $as_echo "#define NO_MKTEMP 1" >>confdefs.h | ||
13066 | |||
13067 | fi | ||
13068 | rm -f core conftest.err conftest.$ac_objext \ | ||
13069 | conftest$ac_exeext conftest.$ac_ext | ||
13070 | fi | ||
13071 | rm -f core conftest.err conftest.$ac_objext \ | ||
13072 | conftest$ac_exeext conftest.$ac_ext | ||
13073 | fi | ||
13074 | |||
13075 | |||
13076 | # Extract the library version IDs from jpeglib.h. | ||
13077 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking libjpeg version number" >&5 | ||
13078 | $as_echo_n "checking libjpeg version number... " >&6; } | ||
13079 | major=`sed -ne 's/^#define JPEG_LIB_VERSION_MAJOR *\([0-9][0-9]*\).*$/\1/p' $srcdir/jpeglib.h` | ||
13080 | minor=`sed -ne 's/^#define JPEG_LIB_VERSION_MINOR *\([0-9][0-9]*\).*$/\1/p' $srcdir/jpeglib.h` | ||
13081 | JPEG_LIB_VERSION=`expr $major + $minor`:0:$minor | ||
13082 | |||
13083 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JPEG_LIB_VERSION" >&5 | ||
13084 | $as_echo "$JPEG_LIB_VERSION" >&6; } | ||
13085 | |||
13086 | ac_config_files="$ac_config_files Makefile" | ||
13087 | |||
13088 | cat >confcache <<\_ACEOF | ||
13089 | # This file is a shell script that caches the results of configure | ||
13090 | # tests run on this system so they can be shared between configure | ||
13091 | # scripts and configure runs, see configure's option --config-cache. | ||
13092 | # It is not useful on other systems. If it contains results you don't | ||
13093 | # want to keep, you may remove or edit it. | ||
13094 | # | ||
13095 | # config.status only pays attention to the cache file if you give it | ||
13096 | # the --recheck option to rerun configure. | ||
13097 | # | ||
13098 | # `ac_cv_env_foo' variables (set or unset) will be overridden when | ||
13099 | # loading this file, other *unset* `ac_cv_foo' will be assigned the | ||
13100 | # following values. | ||
13101 | |||
13102 | _ACEOF | ||
13103 | |||
13104 | # The following way of writing the cache mishandles newlines in values, | ||
13105 | # but we know of no workaround that is simple, portable, and efficient. | ||
13106 | # So, we kill variables containing newlines. | ||
13107 | # Ultrix sh set writes to stderr and can't be redirected directly, | ||
13108 | # and sets the high bit in the cache file unless we assign to the vars. | ||
13109 | ( | ||
13110 | for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do | ||
13111 | eval ac_val=\$$ac_var | ||
13112 | case $ac_val in #( | ||
13113 | *${as_nl}*) | ||
13114 | case $ac_var in #( | ||
13115 | *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 | ||
13116 | $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; | ||
13117 | esac | ||
13118 | case $ac_var in #( | ||
13119 | _ | IFS | as_nl) ;; #( | ||
13120 | BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( | ||
13121 | *) { eval $ac_var=; unset $ac_var;} ;; | ||
13122 | esac ;; | ||
13123 | esac | ||
13124 | done | ||
13125 | |||
13126 | (set) 2>&1 | | ||
13127 | case $as_nl`(ac_space=' '; set) 2>&1` in #( | ||
13128 | *${as_nl}ac_space=\ *) | ||
13129 | # `set' does not quote correctly, so add quotes: double-quote | ||
13130 | # substitution turns \\\\ into \\, and sed turns \\ into \. | ||
13131 | sed -n \ | ||
13132 | "s/'/'\\\\''/g; | ||
13133 | s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" | ||
13134 | ;; #( | ||
13135 | *) | ||
13136 | # `set' quotes correctly as required by POSIX, so do not add quotes. | ||
13137 | sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" | ||
13138 | ;; | ||
13139 | esac | | ||
13140 | sort | ||
13141 | ) | | ||
13142 | sed ' | ||
13143 | /^ac_cv_env_/b end | ||
13144 | t clear | ||
13145 | :clear | ||
13146 | s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ | ||
13147 | t end | ||
13148 | s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ | ||
13149 | :end' >>confcache | ||
13150 | if diff "$cache_file" confcache >/dev/null 2>&1; then :; else | ||
13151 | if test -w "$cache_file"; then | ||
13152 | if test "x$cache_file" != "x/dev/null"; then | ||
13153 | { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 | ||
13154 | $as_echo "$as_me: updating cache $cache_file" >&6;} | ||
13155 | if test ! -f "$cache_file" || test -h "$cache_file"; then | ||
13156 | cat confcache >"$cache_file" | ||
13157 | else | ||
13158 | case $cache_file in #( | ||
13159 | */* | ?:*) | ||
13160 | mv -f confcache "$cache_file"$$ && | ||
13161 | mv -f "$cache_file"$$ "$cache_file" ;; #( | ||
13162 | *) | ||
13163 | mv -f confcache "$cache_file" ;; | ||
13164 | esac | ||
13165 | fi | ||
13166 | fi | ||
13167 | else | ||
13168 | { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 | ||
13169 | $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} | ||
13170 | fi | ||
13171 | fi | ||
13172 | rm -f confcache | ||
13173 | |||
13174 | test "x$prefix" = xNONE && prefix=$ac_default_prefix | ||
13175 | # Let make expand exec_prefix. | ||
13176 | test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' | ||
13177 | |||
13178 | DEFS=-DHAVE_CONFIG_H | ||
13179 | |||
13180 | ac_libobjs= | ||
13181 | ac_ltlibobjs= | ||
13182 | U= | ||
13183 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue | ||
13184 | # 1. Remove the extension, and $U if already installed. | ||
13185 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' | ||
13186 | ac_i=`$as_echo "$ac_i" | sed "$ac_script"` | ||
13187 | # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR | ||
13188 | # will be set to the directory where LIBOBJS objects are built. | ||
13189 | as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" | ||
13190 | as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' | ||
13191 | done | ||
13192 | LIBOBJS=$ac_libobjs | ||
13193 | |||
13194 | LTLIBOBJS=$ac_ltlibobjs | ||
13195 | |||
13196 | |||
13197 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 | ||
13198 | $as_echo_n "checking that generated files are newer than configure... " >&6; } | ||
13199 | if test -n "$am_sleep_pid"; then | ||
13200 | # Hide warnings about reused PIDs. | ||
13201 | wait $am_sleep_pid 2>/dev/null | ||
13202 | fi | ||
13203 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 | ||
13204 | $as_echo "done" >&6; } | ||
13205 | if test -n "$EXEEXT"; then | ||
13206 | am__EXEEXT_TRUE= | ||
13207 | am__EXEEXT_FALSE='#' | ||
13208 | else | ||
13209 | am__EXEEXT_TRUE='#' | ||
13210 | am__EXEEXT_FALSE= | ||
13211 | fi | ||
13212 | |||
13213 | if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then | ||
13214 | as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. | ||
13215 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
13216 | fi | ||
13217 | if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then | ||
13218 | as_fn_error $? "conditional \"AMDEP\" was never defined. | ||
13219 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
13220 | fi | ||
13221 | if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then | ||
13222 | as_fn_error $? "conditional \"am__fastdepCC\" was never defined. | ||
13223 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
13224 | fi | ||
13225 | if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then | ||
13226 | as_fn_error $? "conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined. | ||
13227 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
13228 | fi | ||
13229 | |||
13230 | : "${CONFIG_STATUS=./config.status}" | ||
13231 | ac_write_fail=0 | ||
13232 | ac_clean_files_save=$ac_clean_files | ||
13233 | ac_clean_files="$ac_clean_files $CONFIG_STATUS" | ||
13234 | { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 | ||
13235 | $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} | ||
13236 | as_write_fail=0 | ||
13237 | cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 | ||
13238 | #! $SHELL | ||
13239 | # Generated by $as_me. | ||
13240 | # Run this file to recreate the current configuration. | ||
13241 | # Compiler output produced by configure, useful for debugging | ||
13242 | # configure, is in config.log if it exists. | ||
13243 | |||
13244 | debug=false | ||
13245 | ac_cs_recheck=false | ||
13246 | ac_cs_silent=false | ||
13247 | |||
13248 | SHELL=\${CONFIG_SHELL-$SHELL} | ||
13249 | export SHELL | ||
13250 | _ASEOF | ||
13251 | cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 | ||
13252 | ## -------------------- ## | ||
13253 | ## M4sh Initialization. ## | ||
13254 | ## -------------------- ## | ||
13255 | |||
13256 | # Be more Bourne compatible | ||
13257 | DUALCASE=1; export DUALCASE # for MKS sh | ||
13258 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : | ||
13259 | emulate sh | ||
13260 | NULLCMD=: | ||
13261 | # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which | ||
13262 | # is contrary to our usage. Disable this feature. | ||
13263 | alias -g '${1+"$@"}'='"$@"' | ||
13264 | setopt NO_GLOB_SUBST | ||
13265 | else | ||
13266 | case `(set -o) 2>/dev/null` in #( | ||
13267 | *posix*) : | ||
13268 | set -o posix ;; #( | ||
13269 | *) : | ||
13270 | ;; | ||
13271 | esac | ||
13272 | fi | ||
13273 | |||
13274 | |||
13275 | as_nl=' | ||
13276 | ' | ||
13277 | export as_nl | ||
13278 | # Printing a long string crashes Solaris 7 /usr/bin/printf. | ||
13279 | as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' | ||
13280 | as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo | ||
13281 | as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo | ||
13282 | # Prefer a ksh shell builtin over an external printf program on Solaris, | ||
13283 | # but without wasting forks for bash or zsh. | ||
13284 | if test -z "$BASH_VERSION$ZSH_VERSION" \ | ||
13285 | && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then | ||
13286 | as_echo='print -r --' | ||
13287 | as_echo_n='print -rn --' | ||
13288 | elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then | ||
13289 | as_echo='printf %s\n' | ||
13290 | as_echo_n='printf %s' | ||
13291 | else | ||
13292 | if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then | ||
13293 | as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' | ||
13294 | as_echo_n='/usr/ucb/echo -n' | ||
13295 | else | ||
13296 | as_echo_body='eval expr "X$1" : "X\\(.*\\)"' | ||
13297 | as_echo_n_body='eval | ||
13298 | arg=$1; | ||
13299 | case $arg in #( | ||
13300 | *"$as_nl"*) | ||
13301 | expr "X$arg" : "X\\(.*\\)$as_nl"; | ||
13302 | arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; | ||
13303 | esac; | ||
13304 | expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" | ||
13305 | ' | ||
13306 | export as_echo_n_body | ||
13307 | as_echo_n='sh -c $as_echo_n_body as_echo' | ||
13308 | fi | ||
13309 | export as_echo_body | ||
13310 | as_echo='sh -c $as_echo_body as_echo' | ||
13311 | fi | ||
13312 | |||
13313 | # The user is always right. | ||
13314 | if test "${PATH_SEPARATOR+set}" != set; then | ||
13315 | PATH_SEPARATOR=: | ||
13316 | (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { | ||
13317 | (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || | ||
13318 | PATH_SEPARATOR=';' | ||
13319 | } | ||
13320 | fi | ||
13321 | |||
13322 | |||
13323 | # IFS | ||
13324 | # We need space, tab and new line, in precisely that order. Quoting is | ||
13325 | # there to prevent editors from complaining about space-tab. | ||
13326 | # (If _AS_PATH_WALK were called with IFS unset, it would disable word | ||
13327 | # splitting by setting IFS to empty value.) | ||
13328 | IFS=" "" $as_nl" | ||
13329 | |||
13330 | # Find who we are. Look in the path if we contain no directory separator. | ||
13331 | as_myself= | ||
13332 | case $0 in #(( | ||
13333 | *[\\/]* ) as_myself=$0 ;; | ||
13334 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
13335 | for as_dir in $PATH | ||
13336 | do | ||
13337 | IFS=$as_save_IFS | ||
13338 | test -z "$as_dir" && as_dir=. | ||
13339 | test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break | ||
13340 | done | ||
13341 | IFS=$as_save_IFS | ||
13342 | |||
13343 | ;; | ||
13344 | esac | ||
13345 | # We did not find ourselves, most probably we were run as `sh COMMAND' | ||
13346 | # in which case we are not to be found in the path. | ||
13347 | if test "x$as_myself" = x; then | ||
13348 | as_myself=$0 | ||
13349 | fi | ||
13350 | if test ! -f "$as_myself"; then | ||
13351 | $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 | ||
13352 | exit 1 | ||
13353 | fi | ||
13354 | |||
13355 | # Unset variables that we do not need and which cause bugs (e.g. in | ||
13356 | # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" | ||
13357 | # suppresses any "Segmentation fault" message there. '((' could | ||
13358 | # trigger a bug in pdksh 5.2.14. | ||
13359 | for as_var in BASH_ENV ENV MAIL MAILPATH | ||
13360 | do eval test x\${$as_var+set} = xset \ | ||
13361 | && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : | ||
13362 | done | ||
13363 | PS1='$ ' | ||
13364 | PS2='> ' | ||
13365 | PS4='+ ' | ||
13366 | |||
13367 | # NLS nuisances. | ||
13368 | LC_ALL=C | ||
13369 | export LC_ALL | ||
13370 | LANGUAGE=C | ||
13371 | export LANGUAGE | ||
13372 | |||
13373 | # CDPATH. | ||
13374 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH | ||
13375 | |||
13376 | |||
13377 | # as_fn_error STATUS ERROR [LINENO LOG_FD] | ||
13378 | # ---------------------------------------- | ||
13379 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are | ||
13380 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the | ||
13381 | # script with STATUS, using 1 if that was 0. | ||
13382 | as_fn_error () | ||
13383 | { | ||
13384 | as_status=$1; test $as_status -eq 0 && as_status=1 | ||
13385 | if test "$4"; then | ||
13386 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | ||
13387 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 | ||
13388 | fi | ||
13389 | $as_echo "$as_me: error: $2" >&2 | ||
13390 | as_fn_exit $as_status | ||
13391 | } # as_fn_error | ||
13392 | |||
13393 | |||
13394 | # as_fn_set_status STATUS | ||
13395 | # ----------------------- | ||
13396 | # Set $? to STATUS, without forking. | ||
13397 | as_fn_set_status () | ||
13398 | { | ||
13399 | return $1 | ||
13400 | } # as_fn_set_status | ||
13401 | |||
13402 | # as_fn_exit STATUS | ||
13403 | # ----------------- | ||
13404 | # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. | ||
13405 | as_fn_exit () | ||
13406 | { | ||
13407 | set +e | ||
13408 | as_fn_set_status $1 | ||
13409 | exit $1 | ||
13410 | } # as_fn_exit | ||
13411 | |||
13412 | # as_fn_unset VAR | ||
13413 | # --------------- | ||
13414 | # Portably unset VAR. | ||
13415 | as_fn_unset () | ||
13416 | { | ||
13417 | { eval $1=; unset $1;} | ||
13418 | } | ||
13419 | as_unset=as_fn_unset | ||
13420 | # as_fn_append VAR VALUE | ||
13421 | # ---------------------- | ||
13422 | # Append the text in VALUE to the end of the definition contained in VAR. Take | ||
13423 | # advantage of any shell optimizations that allow amortized linear growth over | ||
13424 | # repeated appends, instead of the typical quadratic growth present in naive | ||
13425 | # implementations. | ||
13426 | if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : | ||
13427 | eval 'as_fn_append () | ||
13428 | { | ||
13429 | eval $1+=\$2 | ||
13430 | }' | ||
13431 | else | ||
13432 | as_fn_append () | ||
13433 | { | ||
13434 | eval $1=\$$1\$2 | ||
13435 | } | ||
13436 | fi # as_fn_append | ||
13437 | |||
13438 | # as_fn_arith ARG... | ||
13439 | # ------------------ | ||
13440 | # Perform arithmetic evaluation on the ARGs, and store the result in the | ||
13441 | # global $as_val. Take advantage of shells that can avoid forks. The arguments | ||
13442 | # must be portable across $(()) and expr. | ||
13443 | if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : | ||
13444 | eval 'as_fn_arith () | ||
13445 | { | ||
13446 | as_val=$(( $* )) | ||
13447 | }' | ||
13448 | else | ||
13449 | as_fn_arith () | ||
13450 | { | ||
13451 | as_val=`expr "$@" || test $? -eq 1` | ||
13452 | } | ||
13453 | fi # as_fn_arith | ||
13454 | |||
13455 | |||
13456 | if expr a : '\(a\)' >/dev/null 2>&1 && | ||
13457 | test "X`expr 00001 : '.*\(...\)'`" = X001; then | ||
13458 | as_expr=expr | ||
13459 | else | ||
13460 | as_expr=false | ||
13461 | fi | ||
13462 | |||
13463 | if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then | ||
13464 | as_basename=basename | ||
13465 | else | ||
13466 | as_basename=false | ||
13467 | fi | ||
13468 | |||
13469 | if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then | ||
13470 | as_dirname=dirname | ||
13471 | else | ||
13472 | as_dirname=false | ||
13473 | fi | ||
13474 | |||
13475 | as_me=`$as_basename -- "$0" || | ||
13476 | $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ | ||
13477 | X"$0" : 'X\(//\)$' \| \ | ||
13478 | X"$0" : 'X\(/\)' \| . 2>/dev/null || | ||
13479 | $as_echo X/"$0" | | ||
13480 | sed '/^.*\/\([^/][^/]*\)\/*$/{ | ||
13481 | s//\1/ | ||
13482 | q | ||
13483 | } | ||
13484 | /^X\/\(\/\/\)$/{ | ||
13485 | s//\1/ | ||
13486 | q | ||
13487 | } | ||
13488 | /^X\/\(\/\).*/{ | ||
13489 | s//\1/ | ||
13490 | q | ||
13491 | } | ||
13492 | s/.*/./; q'` | ||
13493 | |||
13494 | # Avoid depending upon Character Ranges. | ||
13495 | as_cr_letters='abcdefghijklmnopqrstuvwxyz' | ||
13496 | as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' | ||
13497 | as_cr_Letters=$as_cr_letters$as_cr_LETTERS | ||
13498 | as_cr_digits='0123456789' | ||
13499 | as_cr_alnum=$as_cr_Letters$as_cr_digits | ||
13500 | |||
13501 | ECHO_C= ECHO_N= ECHO_T= | ||
13502 | case `echo -n x` in #((((( | ||
13503 | -n*) | ||
13504 | case `echo 'xy\c'` in | ||
13505 | *c*) ECHO_T=' ';; # ECHO_T is single tab character. | ||
13506 | xy) ECHO_C='\c';; | ||
13507 | *) echo `echo ksh88 bug on AIX 6.1` > /dev/null | ||
13508 | ECHO_T=' ';; | ||
13509 | esac;; | ||
13510 | *) | ||
13511 | ECHO_N='-n';; | ||
13512 | esac | ||
13513 | |||
13514 | rm -f conf$$ conf$$.exe conf$$.file | ||
13515 | if test -d conf$$.dir; then | ||
13516 | rm -f conf$$.dir/conf$$.file | ||
13517 | else | ||
13518 | rm -f conf$$.dir | ||
13519 | mkdir conf$$.dir 2>/dev/null | ||
13520 | fi | ||
13521 | if (echo >conf$$.file) 2>/dev/null; then | ||
13522 | if ln -s conf$$.file conf$$ 2>/dev/null; then | ||
13523 | as_ln_s='ln -s' | ||
13524 | # ... but there are two gotchas: | ||
13525 | # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. | ||
13526 | # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. | ||
13527 | # In both cases, we have to default to `cp -pR'. | ||
13528 | ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || | ||
13529 | as_ln_s='cp -pR' | ||
13530 | elif ln conf$$.file conf$$ 2>/dev/null; then | ||
13531 | as_ln_s=ln | ||
13532 | else | ||
13533 | as_ln_s='cp -pR' | ||
13534 | fi | ||
13535 | else | ||
13536 | as_ln_s='cp -pR' | ||
13537 | fi | ||
13538 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file | ||
13539 | rmdir conf$$.dir 2>/dev/null | ||
13540 | |||
13541 | |||
13542 | # as_fn_mkdir_p | ||
13543 | # ------------- | ||
13544 | # Create "$as_dir" as a directory, including parents if necessary. | ||
13545 | as_fn_mkdir_p () | ||
13546 | { | ||
13547 | |||
13548 | case $as_dir in #( | ||
13549 | -*) as_dir=./$as_dir;; | ||
13550 | esac | ||
13551 | test -d "$as_dir" || eval $as_mkdir_p || { | ||
13552 | as_dirs= | ||
13553 | while :; do | ||
13554 | case $as_dir in #( | ||
13555 | *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( | ||
13556 | *) as_qdir=$as_dir;; | ||
13557 | esac | ||
13558 | as_dirs="'$as_qdir' $as_dirs" | ||
13559 | as_dir=`$as_dirname -- "$as_dir" || | ||
13560 | $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
13561 | X"$as_dir" : 'X\(//\)[^/]' \| \ | ||
13562 | X"$as_dir" : 'X\(//\)$' \| \ | ||
13563 | X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || | ||
13564 | $as_echo X"$as_dir" | | ||
13565 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||
13566 | s//\1/ | ||
13567 | q | ||
13568 | } | ||
13569 | /^X\(\/\/\)[^/].*/{ | ||
13570 | s//\1/ | ||
13571 | q | ||
13572 | } | ||
13573 | /^X\(\/\/\)$/{ | ||
13574 | s//\1/ | ||
13575 | q | ||
13576 | } | ||
13577 | /^X\(\/\).*/{ | ||
13578 | s//\1/ | ||
13579 | q | ||
13580 | } | ||
13581 | s/.*/./; q'` | ||
13582 | test -d "$as_dir" && break | ||
13583 | done | ||
13584 | test -z "$as_dirs" || eval "mkdir $as_dirs" | ||
13585 | } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" | ||
13586 | |||
13587 | |||
13588 | } # as_fn_mkdir_p | ||
13589 | if mkdir -p . 2>/dev/null; then | ||
13590 | as_mkdir_p='mkdir -p "$as_dir"' | ||
13591 | else | ||
13592 | test -d ./-p && rmdir ./-p | ||
13593 | as_mkdir_p=false | ||
13594 | fi | ||
13595 | |||
13596 | |||
13597 | # as_fn_executable_p FILE | ||
13598 | # ----------------------- | ||
13599 | # Test if FILE is an executable regular file. | ||
13600 | as_fn_executable_p () | ||
13601 | { | ||
13602 | test -f "$1" && test -x "$1" | ||
13603 | } # as_fn_executable_p | ||
13604 | as_test_x='test -x' | ||
13605 | as_executable_p=as_fn_executable_p | ||
13606 | |||
13607 | # Sed expression to map a string onto a valid CPP name. | ||
13608 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" | ||
13609 | |||
13610 | # Sed expression to map a string onto a valid variable name. | ||
13611 | as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" | ||
13612 | |||
13613 | |||
13614 | exec 6>&1 | ||
13615 | ## ----------------------------------- ## | ||
13616 | ## Main body of $CONFIG_STATUS script. ## | ||
13617 | ## ----------------------------------- ## | ||
13618 | _ASEOF | ||
13619 | test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 | ||
13620 | |||
13621 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
13622 | # Save the log message, to keep $0 and so on meaningful, and to | ||
13623 | # report actual input values of CONFIG_FILES etc. instead of their | ||
13624 | # values after options handling. | ||
13625 | ac_log=" | ||
13626 | This file was extended by libjpeg $as_me 9.1.0, which was | ||
13627 | generated by GNU Autoconf 2.69. Invocation command line was | ||
13628 | |||
13629 | CONFIG_FILES = $CONFIG_FILES | ||
13630 | CONFIG_HEADERS = $CONFIG_HEADERS | ||
13631 | CONFIG_LINKS = $CONFIG_LINKS | ||
13632 | CONFIG_COMMANDS = $CONFIG_COMMANDS | ||
13633 | $ $0 $@ | ||
13634 | |||
13635 | on `(hostname || uname -n) 2>/dev/null | sed 1q` | ||
13636 | " | ||
13637 | |||
13638 | _ACEOF | ||
13639 | |||
13640 | case $ac_config_files in *" | ||
13641 | "*) set x $ac_config_files; shift; ac_config_files=$*;; | ||
13642 | esac | ||
13643 | |||
13644 | case $ac_config_headers in *" | ||
13645 | "*) set x $ac_config_headers; shift; ac_config_headers=$*;; | ||
13646 | esac | ||
13647 | |||
13648 | |||
13649 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
13650 | # Files that config.status was made for. | ||
13651 | config_files="$ac_config_files" | ||
13652 | config_headers="$ac_config_headers" | ||
13653 | config_commands="$ac_config_commands" | ||
13654 | |||
13655 | _ACEOF | ||
13656 | |||
13657 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
13658 | ac_cs_usage="\ | ||
13659 | \`$as_me' instantiates files and other configuration actions | ||
13660 | from templates according to the current configuration. Unless the files | ||
13661 | and actions are specified as TAGs, all are instantiated by default. | ||
13662 | |||
13663 | Usage: $0 [OPTION]... [TAG]... | ||
13664 | |||
13665 | -h, --help print this help, then exit | ||
13666 | -V, --version print version number and configuration settings, then exit | ||
13667 | --config print configuration, then exit | ||
13668 | -q, --quiet, --silent | ||
13669 | do not print progress messages | ||
13670 | -d, --debug don't remove temporary files | ||
13671 | --recheck update $as_me by reconfiguring in the same conditions | ||
13672 | --file=FILE[:TEMPLATE] | ||
13673 | instantiate the configuration file FILE | ||
13674 | --header=FILE[:TEMPLATE] | ||
13675 | instantiate the configuration header FILE | ||
13676 | |||
13677 | Configuration files: | ||
13678 | $config_files | ||
13679 | |||
13680 | Configuration headers: | ||
13681 | $config_headers | ||
13682 | |||
13683 | Configuration commands: | ||
13684 | $config_commands | ||
13685 | |||
13686 | Report bugs to the package provider." | ||
13687 | |||
13688 | _ACEOF | ||
13689 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
13690 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" | ||
13691 | ac_cs_version="\\ | ||
13692 | libjpeg config.status 9.1.0 | ||
13693 | configured by $0, generated by GNU Autoconf 2.69, | ||
13694 | with options \\"\$ac_cs_config\\" | ||
13695 | |||
13696 | Copyright (C) 2012 Free Software Foundation, Inc. | ||
13697 | This config.status script is free software; the Free Software Foundation | ||
13698 | gives unlimited permission to copy, distribute and modify it." | ||
13699 | |||
13700 | ac_pwd='$ac_pwd' | ||
13701 | srcdir='$srcdir' | ||
13702 | INSTALL='$INSTALL' | ||
13703 | MKDIR_P='$MKDIR_P' | ||
13704 | AWK='$AWK' | ||
13705 | test -n "\$AWK" || AWK=awk | ||
13706 | _ACEOF | ||
13707 | |||
13708 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
13709 | # The default lists apply if the user does not specify any file. | ||
13710 | ac_need_defaults=: | ||
13711 | while test $# != 0 | ||
13712 | do | ||
13713 | case $1 in | ||
13714 | --*=?*) | ||
13715 | ac_option=`expr "X$1" : 'X\([^=]*\)='` | ||
13716 | ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` | ||
13717 | ac_shift=: | ||
13718 | ;; | ||
13719 | --*=) | ||
13720 | ac_option=`expr "X$1" : 'X\([^=]*\)='` | ||
13721 | ac_optarg= | ||
13722 | ac_shift=: | ||
13723 | ;; | ||
13724 | *) | ||
13725 | ac_option=$1 | ||
13726 | ac_optarg=$2 | ||
13727 | ac_shift=shift | ||
13728 | ;; | ||
13729 | esac | ||
13730 | |||
13731 | case $ac_option in | ||
13732 | # Handling of the options. | ||
13733 | -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) | ||
13734 | ac_cs_recheck=: ;; | ||
13735 | --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) | ||
13736 | $as_echo "$ac_cs_version"; exit ;; | ||
13737 | --config | --confi | --conf | --con | --co | --c ) | ||
13738 | $as_echo "$ac_cs_config"; exit ;; | ||
13739 | --debug | --debu | --deb | --de | --d | -d ) | ||
13740 | debug=: ;; | ||
13741 | --file | --fil | --fi | --f ) | ||
13742 | $ac_shift | ||
13743 | case $ac_optarg in | ||
13744 | *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; | ||
13745 | '') as_fn_error $? "missing file argument" ;; | ||
13746 | esac | ||
13747 | as_fn_append CONFIG_FILES " '$ac_optarg'" | ||
13748 | ac_need_defaults=false;; | ||
13749 | --header | --heade | --head | --hea ) | ||
13750 | $ac_shift | ||
13751 | case $ac_optarg in | ||
13752 | *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; | ||
13753 | esac | ||
13754 | as_fn_append CONFIG_HEADERS " '$ac_optarg'" | ||
13755 | ac_need_defaults=false;; | ||
13756 | --he | --h) | ||
13757 | # Conflict between --help and --header | ||
13758 | as_fn_error $? "ambiguous option: \`$1' | ||
13759 | Try \`$0 --help' for more information.";; | ||
13760 | --help | --hel | -h ) | ||
13761 | $as_echo "$ac_cs_usage"; exit ;; | ||
13762 | -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | ||
13763 | | -silent | --silent | --silen | --sile | --sil | --si | --s) | ||
13764 | ac_cs_silent=: ;; | ||
13765 | |||
13766 | # This is an error. | ||
13767 | -*) as_fn_error $? "unrecognized option: \`$1' | ||
13768 | Try \`$0 --help' for more information." ;; | ||
13769 | |||
13770 | *) as_fn_append ac_config_targets " $1" | ||
13771 | ac_need_defaults=false ;; | ||
13772 | |||
13773 | esac | ||
13774 | shift | ||
13775 | done | ||
13776 | |||
13777 | ac_configure_extra_args= | ||
13778 | |||
13779 | if $ac_cs_silent; then | ||
13780 | exec 6>/dev/null | ||
13781 | ac_configure_extra_args="$ac_configure_extra_args --silent" | ||
13782 | fi | ||
13783 | |||
13784 | _ACEOF | ||
13785 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
13786 | if \$ac_cs_recheck; then | ||
13787 | set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion | ||
13788 | shift | ||
13789 | \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 | ||
13790 | CONFIG_SHELL='$SHELL' | ||
13791 | export CONFIG_SHELL | ||
13792 | exec "\$@" | ||
13793 | fi | ||
13794 | |||
13795 | _ACEOF | ||
13796 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
13797 | exec 5>>config.log | ||
13798 | { | ||
13799 | echo | ||
13800 | sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX | ||
13801 | ## Running $as_me. ## | ||
13802 | _ASBOX | ||
13803 | $as_echo "$ac_log" | ||
13804 | } >&5 | ||
13805 | |||
13806 | _ACEOF | ||
13807 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
13808 | # | ||
13809 | # INIT-COMMANDS | ||
13810 | # | ||
13811 | AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" | ||
13812 | |||
13813 | |||
13814 | # The HP-UX ksh and POSIX shell print the target directory to stdout | ||
13815 | # if CDPATH is set. | ||
13816 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH | ||
13817 | |||
13818 | sed_quote_subst='$sed_quote_subst' | ||
13819 | double_quote_subst='$double_quote_subst' | ||
13820 | delay_variable_subst='$delay_variable_subst' | ||
13821 | AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' | ||
13822 | DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' | ||
13823 | OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' | ||
13824 | macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' | ||
13825 | macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' | ||
13826 | enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' | ||
13827 | enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' | ||
13828 | pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' | ||
13829 | enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' | ||
13830 | SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' | ||
13831 | ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' | ||
13832 | PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' | ||
13833 | host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' | ||
13834 | host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' | ||
13835 | host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' | ||
13836 | build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' | ||
13837 | build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' | ||
13838 | build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' | ||
13839 | SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' | ||
13840 | Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' | ||
13841 | GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' | ||
13842 | EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' | ||
13843 | FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' | ||
13844 | LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' | ||
13845 | NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' | ||
13846 | LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' | ||
13847 | max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' | ||
13848 | ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' | ||
13849 | exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' | ||
13850 | lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' | ||
13851 | lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' | ||
13852 | lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' | ||
13853 | lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' | ||
13854 | lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' | ||
13855 | reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' | ||
13856 | reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' | ||
13857 | deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' | ||
13858 | file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' | ||
13859 | file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' | ||
13860 | want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' | ||
13861 | sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' | ||
13862 | AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' | ||
13863 | AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' | ||
13864 | archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' | ||
13865 | STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' | ||
13866 | RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' | ||
13867 | old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' | ||
13868 | old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' | ||
13869 | old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' | ||
13870 | lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' | ||
13871 | CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' | ||
13872 | CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' | ||
13873 | compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' | ||
13874 | GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' | ||
13875 | lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' | ||
13876 | lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' | ||
13877 | lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' | ||
13878 | lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' | ||
13879 | nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' | ||
13880 | lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' | ||
13881 | objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' | ||
13882 | MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' | ||
13883 | lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' | ||
13884 | lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' | ||
13885 | lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' | ||
13886 | lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' | ||
13887 | lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' | ||
13888 | need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' | ||
13889 | MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' | ||
13890 | DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' | ||
13891 | NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' | ||
13892 | LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' | ||
13893 | OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' | ||
13894 | OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' | ||
13895 | libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' | ||
13896 | shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' | ||
13897 | extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' | ||
13898 | archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' | ||
13899 | enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' | ||
13900 | export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' | ||
13901 | whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' | ||
13902 | compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' | ||
13903 | old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' | ||
13904 | old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' | ||
13905 | archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' | ||
13906 | archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' | ||
13907 | module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' | ||
13908 | module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' | ||
13909 | with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' | ||
13910 | allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' | ||
13911 | no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' | ||
13912 | hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' | ||
13913 | hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' | ||
13914 | hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' | ||
13915 | hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' | ||
13916 | hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' | ||
13917 | hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' | ||
13918 | hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' | ||
13919 | inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' | ||
13920 | link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' | ||
13921 | always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' | ||
13922 | export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' | ||
13923 | exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' | ||
13924 | include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' | ||
13925 | prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' | ||
13926 | postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' | ||
13927 | file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' | ||
13928 | variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' | ||
13929 | need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' | ||
13930 | need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' | ||
13931 | version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' | ||
13932 | runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' | ||
13933 | shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' | ||
13934 | shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' | ||
13935 | libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' | ||
13936 | library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' | ||
13937 | soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' | ||
13938 | install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' | ||
13939 | postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' | ||
13940 | postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' | ||
13941 | finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' | ||
13942 | finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' | ||
13943 | hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' | ||
13944 | sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' | ||
13945 | sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' | ||
13946 | hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' | ||
13947 | enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' | ||
13948 | enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' | ||
13949 | enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' | ||
13950 | old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' | ||
13951 | striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' | ||
13952 | |||
13953 | LTCC='$LTCC' | ||
13954 | LTCFLAGS='$LTCFLAGS' | ||
13955 | compiler='$compiler_DEFAULT' | ||
13956 | |||
13957 | # A function that is used when there is no print builtin or printf. | ||
13958 | func_fallback_echo () | ||
13959 | { | ||
13960 | eval 'cat <<_LTECHO_EOF | ||
13961 | \$1 | ||
13962 | _LTECHO_EOF' | ||
13963 | } | ||
13964 | |||
13965 | # Quote evaled strings. | ||
13966 | for var in AS \ | ||
13967 | DLLTOOL \ | ||
13968 | OBJDUMP \ | ||
13969 | SHELL \ | ||
13970 | ECHO \ | ||
13971 | PATH_SEPARATOR \ | ||
13972 | SED \ | ||
13973 | GREP \ | ||
13974 | EGREP \ | ||
13975 | FGREP \ | ||
13976 | LD \ | ||
13977 | NM \ | ||
13978 | LN_S \ | ||
13979 | lt_SP2NL \ | ||
13980 | lt_NL2SP \ | ||
13981 | reload_flag \ | ||
13982 | deplibs_check_method \ | ||
13983 | file_magic_cmd \ | ||
13984 | file_magic_glob \ | ||
13985 | want_nocaseglob \ | ||
13986 | sharedlib_from_linklib_cmd \ | ||
13987 | AR \ | ||
13988 | AR_FLAGS \ | ||
13989 | archiver_list_spec \ | ||
13990 | STRIP \ | ||
13991 | RANLIB \ | ||
13992 | CC \ | ||
13993 | CFLAGS \ | ||
13994 | compiler \ | ||
13995 | lt_cv_sys_global_symbol_pipe \ | ||
13996 | lt_cv_sys_global_symbol_to_cdecl \ | ||
13997 | lt_cv_sys_global_symbol_to_c_name_address \ | ||
13998 | lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ | ||
13999 | nm_file_list_spec \ | ||
14000 | lt_prog_compiler_no_builtin_flag \ | ||
14001 | lt_prog_compiler_pic \ | ||
14002 | lt_prog_compiler_wl \ | ||
14003 | lt_prog_compiler_static \ | ||
14004 | lt_cv_prog_compiler_c_o \ | ||
14005 | need_locks \ | ||
14006 | MANIFEST_TOOL \ | ||
14007 | DSYMUTIL \ | ||
14008 | NMEDIT \ | ||
14009 | LIPO \ | ||
14010 | OTOOL \ | ||
14011 | OTOOL64 \ | ||
14012 | shrext_cmds \ | ||
14013 | export_dynamic_flag_spec \ | ||
14014 | whole_archive_flag_spec \ | ||
14015 | compiler_needs_object \ | ||
14016 | with_gnu_ld \ | ||
14017 | allow_undefined_flag \ | ||
14018 | no_undefined_flag \ | ||
14019 | hardcode_libdir_flag_spec \ | ||
14020 | hardcode_libdir_separator \ | ||
14021 | exclude_expsyms \ | ||
14022 | include_expsyms \ | ||
14023 | file_list_spec \ | ||
14024 | variables_saved_for_relink \ | ||
14025 | libname_spec \ | ||
14026 | library_names_spec \ | ||
14027 | soname_spec \ | ||
14028 | install_override_mode \ | ||
14029 | finish_eval \ | ||
14030 | old_striplib \ | ||
14031 | striplib; do | ||
14032 | case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in | ||
14033 | *[\\\\\\\`\\"\\\$]*) | ||
14034 | eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" | ||
14035 | ;; | ||
14036 | *) | ||
14037 | eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | ||
14038 | ;; | ||
14039 | esac | ||
14040 | done | ||
14041 | |||
14042 | # Double-quote double-evaled strings. | ||
14043 | for var in reload_cmds \ | ||
14044 | old_postinstall_cmds \ | ||
14045 | old_postuninstall_cmds \ | ||
14046 | old_archive_cmds \ | ||
14047 | extract_expsyms_cmds \ | ||
14048 | old_archive_from_new_cmds \ | ||
14049 | old_archive_from_expsyms_cmds \ | ||
14050 | archive_cmds \ | ||
14051 | archive_expsym_cmds \ | ||
14052 | module_cmds \ | ||
14053 | module_expsym_cmds \ | ||
14054 | export_symbols_cmds \ | ||
14055 | prelink_cmds \ | ||
14056 | postlink_cmds \ | ||
14057 | postinstall_cmds \ | ||
14058 | postuninstall_cmds \ | ||
14059 | finish_cmds \ | ||
14060 | sys_lib_search_path_spec \ | ||
14061 | sys_lib_dlsearch_path_spec; do | ||
14062 | case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in | ||
14063 | *[\\\\\\\`\\"\\\$]*) | ||
14064 | eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" | ||
14065 | ;; | ||
14066 | *) | ||
14067 | eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | ||
14068 | ;; | ||
14069 | esac | ||
14070 | done | ||
14071 | |||
14072 | ac_aux_dir='$ac_aux_dir' | ||
14073 | xsi_shell='$xsi_shell' | ||
14074 | lt_shell_append='$lt_shell_append' | ||
14075 | |||
14076 | # See if we are running on zsh, and set the options which allow our | ||
14077 | # commands through without removal of \ escapes INIT. | ||
14078 | if test -n "\${ZSH_VERSION+set}" ; then | ||
14079 | setopt NO_GLOB_SUBST | ||
14080 | fi | ||
14081 | |||
14082 | |||
14083 | PACKAGE='$PACKAGE' | ||
14084 | VERSION='$VERSION' | ||
14085 | TIMESTAMP='$TIMESTAMP' | ||
14086 | RM='$RM' | ||
14087 | ofile='$ofile' | ||
14088 | |||
14089 | |||
14090 | |||
14091 | |||
14092 | _ACEOF | ||
14093 | |||
14094 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
14095 | |||
14096 | # Handling of arguments. | ||
14097 | for ac_config_target in $ac_config_targets | ||
14098 | do | ||
14099 | case $ac_config_target in | ||
14100 | "jconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS jconfig.h:jconfig.cfg" ;; | ||
14101 | "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; | ||
14102 | "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; | ||
14103 | "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; | ||
14104 | |||
14105 | *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; | ||
14106 | esac | ||
14107 | done | ||
14108 | |||
14109 | |||
14110 | # If the user did not use the arguments to specify the items to instantiate, | ||
14111 | # then the envvar interface is used. Set only those that are not. | ||
14112 | # We use the long form for the default assignment because of an extremely | ||
14113 | # bizarre bug on SunOS 4.1.3. | ||
14114 | if $ac_need_defaults; then | ||
14115 | test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files | ||
14116 | test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers | ||
14117 | test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands | ||
14118 | fi | ||
14119 | |||
14120 | # Have a temporary directory for convenience. Make it in the build tree | ||
14121 | # simply because there is no reason against having it here, and in addition, | ||
14122 | # creating and moving files from /tmp can sometimes cause problems. | ||
14123 | # Hook for its removal unless debugging. | ||
14124 | # Note that there is a small window in which the directory will not be cleaned: | ||
14125 | # after its creation but before its name has been assigned to `$tmp'. | ||
14126 | $debug || | ||
14127 | { | ||
14128 | tmp= ac_tmp= | ||
14129 | trap 'exit_status=$? | ||
14130 | : "${ac_tmp:=$tmp}" | ||
14131 | { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status | ||
14132 | ' 0 | ||
14133 | trap 'as_fn_exit 1' 1 2 13 15 | ||
14134 | } | ||
14135 | # Create a (secure) tmp directory for tmp files. | ||
14136 | |||
14137 | { | ||
14138 | tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && | ||
14139 | test -d "$tmp" | ||
14140 | } || | ||
14141 | { | ||
14142 | tmp=./conf$$-$RANDOM | ||
14143 | (umask 077 && mkdir "$tmp") | ||
14144 | } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 | ||
14145 | ac_tmp=$tmp | ||
14146 | |||
14147 | # Set up the scripts for CONFIG_FILES section. | ||
14148 | # No need to generate them if there are no CONFIG_FILES. | ||
14149 | # This happens for instance with `./config.status config.h'. | ||
14150 | if test -n "$CONFIG_FILES"; then | ||
14151 | |||
14152 | |||
14153 | ac_cr=`echo X | tr X '\015'` | ||
14154 | # On cygwin, bash can eat \r inside `` if the user requested igncr. | ||
14155 | # But we know of no other shell where ac_cr would be empty at this | ||
14156 | # point, so we can use a bashism as a fallback. | ||
14157 | if test "x$ac_cr" = x; then | ||
14158 | eval ac_cr=\$\'\\r\' | ||
14159 | fi | ||
14160 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` | ||
14161 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then | ||
14162 | ac_cs_awk_cr='\\r' | ||
14163 | else | ||
14164 | ac_cs_awk_cr=$ac_cr | ||
14165 | fi | ||
14166 | |||
14167 | echo 'BEGIN {' >"$ac_tmp/subs1.awk" && | ||
14168 | _ACEOF | ||
14169 | |||
14170 | |||
14171 | { | ||
14172 | echo "cat >conf$$subs.awk <<_ACEOF" && | ||
14173 | echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && | ||
14174 | echo "_ACEOF" | ||
14175 | } >conf$$subs.sh || | ||
14176 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 | ||
14177 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` | ||
14178 | ac_delim='%!_!# ' | ||
14179 | for ac_last_try in false false false false false :; do | ||
14180 | . ./conf$$subs.sh || | ||
14181 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 | ||
14182 | |||
14183 | ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` | ||
14184 | if test $ac_delim_n = $ac_delim_num; then | ||
14185 | break | ||
14186 | elif $ac_last_try; then | ||
14187 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 | ||
14188 | else | ||
14189 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | ||
14190 | fi | ||
14191 | done | ||
14192 | rm -f conf$$subs.sh | ||
14193 | |||
14194 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
14195 | cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && | ||
14196 | _ACEOF | ||
14197 | sed -n ' | ||
14198 | h | ||
14199 | s/^/S["/; s/!.*/"]=/ | ||
14200 | p | ||
14201 | g | ||
14202 | s/^[^!]*!// | ||
14203 | :repl | ||
14204 | t repl | ||
14205 | s/'"$ac_delim"'$// | ||
14206 | t delim | ||
14207 | :nl | ||
14208 | h | ||
14209 | s/\(.\{148\}\)..*/\1/ | ||
14210 | t more1 | ||
14211 | s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ | ||
14212 | p | ||
14213 | n | ||
14214 | b repl | ||
14215 | :more1 | ||
14216 | s/["\\]/\\&/g; s/^/"/; s/$/"\\/ | ||
14217 | p | ||
14218 | g | ||
14219 | s/.\{148\}// | ||
14220 | t nl | ||
14221 | :delim | ||
14222 | h | ||
14223 | s/\(.\{148\}\)..*/\1/ | ||
14224 | t more2 | ||
14225 | s/["\\]/\\&/g; s/^/"/; s/$/"/ | ||
14226 | p | ||
14227 | b | ||
14228 | :more2 | ||
14229 | s/["\\]/\\&/g; s/^/"/; s/$/"\\/ | ||
14230 | p | ||
14231 | g | ||
14232 | s/.\{148\}// | ||
14233 | t delim | ||
14234 | ' <conf$$subs.awk | sed ' | ||
14235 | /^[^""]/{ | ||
14236 | N | ||
14237 | s/\n// | ||
14238 | } | ||
14239 | ' >>$CONFIG_STATUS || ac_write_fail=1 | ||
14240 | rm -f conf$$subs.awk | ||
14241 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
14242 | _ACAWK | ||
14243 | cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && | ||
14244 | for (key in S) S_is_set[key] = 1 | ||
14245 | FS = "" | ||
14246 | |||
14247 | } | ||
14248 | { | ||
14249 | line = $ 0 | ||
14250 | nfields = split(line, field, "@") | ||
14251 | substed = 0 | ||
14252 | len = length(field[1]) | ||
14253 | for (i = 2; i < nfields; i++) { | ||
14254 | key = field[i] | ||
14255 | keylen = length(key) | ||
14256 | if (S_is_set[key]) { | ||
14257 | value = S[key] | ||
14258 | line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) | ||
14259 | len += length(value) + length(field[++i]) | ||
14260 | substed = 1 | ||
14261 | } else | ||
14262 | len += 1 + keylen | ||
14263 | } | ||
14264 | |||
14265 | print line | ||
14266 | } | ||
14267 | |||
14268 | _ACAWK | ||
14269 | _ACEOF | ||
14270 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
14271 | if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then | ||
14272 | sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" | ||
14273 | else | ||
14274 | cat | ||
14275 | fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ | ||
14276 | || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 | ||
14277 | _ACEOF | ||
14278 | |||
14279 | # VPATH may cause trouble with some makes, so we remove sole $(srcdir), | ||
14280 | # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and | ||
14281 | # trailing colons and then remove the whole line if VPATH becomes empty | ||
14282 | # (actually we leave an empty line to preserve line numbers). | ||
14283 | if test "x$srcdir" = x.; then | ||
14284 | ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ | ||
14285 | h | ||
14286 | s/// | ||
14287 | s/^/:/ | ||
14288 | s/[ ]*$/:/ | ||
14289 | s/:\$(srcdir):/:/g | ||
14290 | s/:\${srcdir}:/:/g | ||
14291 | s/:@srcdir@:/:/g | ||
14292 | s/^:*// | ||
14293 | s/:*$// | ||
14294 | x | ||
14295 | s/\(=[ ]*\).*/\1/ | ||
14296 | G | ||
14297 | s/\n// | ||
14298 | s/^[^=]*=[ ]*$// | ||
14299 | }' | ||
14300 | fi | ||
14301 | |||
14302 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
14303 | fi # test -n "$CONFIG_FILES" | ||
14304 | |||
14305 | # Set up the scripts for CONFIG_HEADERS section. | ||
14306 | # No need to generate them if there are no CONFIG_HEADERS. | ||
14307 | # This happens for instance with `./config.status Makefile'. | ||
14308 | if test -n "$CONFIG_HEADERS"; then | ||
14309 | cat >"$ac_tmp/defines.awk" <<\_ACAWK || | ||
14310 | BEGIN { | ||
14311 | _ACEOF | ||
14312 | |||
14313 | # Transform confdefs.h into an awk script `defines.awk', embedded as | ||
14314 | # here-document in config.status, that substitutes the proper values into | ||
14315 | # config.h.in to produce config.h. | ||
14316 | |||
14317 | # Create a delimiter string that does not exist in confdefs.h, to ease | ||
14318 | # handling of long lines. | ||
14319 | ac_delim='%!_!# ' | ||
14320 | for ac_last_try in false false :; do | ||
14321 | ac_tt=`sed -n "/$ac_delim/p" confdefs.h` | ||
14322 | if test -z "$ac_tt"; then | ||
14323 | break | ||
14324 | elif $ac_last_try; then | ||
14325 | as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 | ||
14326 | else | ||
14327 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | ||
14328 | fi | ||
14329 | done | ||
14330 | |||
14331 | # For the awk script, D is an array of macro values keyed by name, | ||
14332 | # likewise P contains macro parameters if any. Preserve backslash | ||
14333 | # newline sequences. | ||
14334 | |||
14335 | ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* | ||
14336 | sed -n ' | ||
14337 | s/.\{148\}/&'"$ac_delim"'/g | ||
14338 | t rset | ||
14339 | :rset | ||
14340 | s/^[ ]*#[ ]*define[ ][ ]*/ / | ||
14341 | t def | ||
14342 | d | ||
14343 | :def | ||
14344 | s/\\$// | ||
14345 | t bsnl | ||
14346 | s/["\\]/\\&/g | ||
14347 | s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ | ||
14348 | D["\1"]=" \3"/p | ||
14349 | s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p | ||
14350 | d | ||
14351 | :bsnl | ||
14352 | s/["\\]/\\&/g | ||
14353 | s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ | ||
14354 | D["\1"]=" \3\\\\\\n"\\/p | ||
14355 | t cont | ||
14356 | s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p | ||
14357 | t cont | ||
14358 | d | ||
14359 | :cont | ||
14360 | n | ||
14361 | s/.\{148\}/&'"$ac_delim"'/g | ||
14362 | t clear | ||
14363 | :clear | ||
14364 | s/\\$// | ||
14365 | t bsnlc | ||
14366 | s/["\\]/\\&/g; s/^/"/; s/$/"/p | ||
14367 | d | ||
14368 | :bsnlc | ||
14369 | s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p | ||
14370 | b cont | ||
14371 | ' <confdefs.h | sed ' | ||
14372 | s/'"$ac_delim"'/"\\\ | ||
14373 | "/g' >>$CONFIG_STATUS || ac_write_fail=1 | ||
14374 | |||
14375 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
14376 | for (key in D) D_is_set[key] = 1 | ||
14377 | FS = "" | ||
14378 | } | ||
14379 | /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { | ||
14380 | line = \$ 0 | ||
14381 | split(line, arg, " ") | ||
14382 | if (arg[1] == "#") { | ||
14383 | defundef = arg[2] | ||
14384 | mac1 = arg[3] | ||
14385 | } else { | ||
14386 | defundef = substr(arg[1], 2) | ||
14387 | mac1 = arg[2] | ||
14388 | } | ||
14389 | split(mac1, mac2, "(") #) | ||
14390 | macro = mac2[1] | ||
14391 | prefix = substr(line, 1, index(line, defundef) - 1) | ||
14392 | if (D_is_set[macro]) { | ||
14393 | # Preserve the white space surrounding the "#". | ||
14394 | print prefix "define", macro P[macro] D[macro] | ||
14395 | next | ||
14396 | } else { | ||
14397 | # Replace #undef with comments. This is necessary, for example, | ||
14398 | # in the case of _POSIX_SOURCE, which is predefined and required | ||
14399 | # on some systems where configure will not decide to define it. | ||
14400 | if (defundef == "undef") { | ||
14401 | print "/*", prefix defundef, macro, "*/" | ||
14402 | next | ||
14403 | } | ||
14404 | } | ||
14405 | } | ||
14406 | { print } | ||
14407 | _ACAWK | ||
14408 | _ACEOF | ||
14409 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
14410 | as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 | ||
14411 | fi # test -n "$CONFIG_HEADERS" | ||
14412 | |||
14413 | |||
14414 | eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" | ||
14415 | shift | ||
14416 | for ac_tag | ||
14417 | do | ||
14418 | case $ac_tag in | ||
14419 | :[FHLC]) ac_mode=$ac_tag; continue;; | ||
14420 | esac | ||
14421 | case $ac_mode$ac_tag in | ||
14422 | :[FHL]*:*);; | ||
14423 | :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; | ||
14424 | :[FH]-) ac_tag=-:-;; | ||
14425 | :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; | ||
14426 | esac | ||
14427 | ac_save_IFS=$IFS | ||
14428 | IFS=: | ||
14429 | set x $ac_tag | ||
14430 | IFS=$ac_save_IFS | ||
14431 | shift | ||
14432 | ac_file=$1 | ||
14433 | shift | ||
14434 | |||
14435 | case $ac_mode in | ||
14436 | :L) ac_source=$1;; | ||
14437 | :[FH]) | ||
14438 | ac_file_inputs= | ||
14439 | for ac_f | ||
14440 | do | ||
14441 | case $ac_f in | ||
14442 | -) ac_f="$ac_tmp/stdin";; | ||
14443 | *) # Look for the file first in the build tree, then in the source tree | ||
14444 | # (if the path is not absolute). The absolute path cannot be DOS-style, | ||
14445 | # because $ac_f cannot contain `:'. | ||
14446 | test -f "$ac_f" || | ||
14447 | case $ac_f in | ||
14448 | [\\/$]*) false;; | ||
14449 | *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; | ||
14450 | esac || | ||
14451 | as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; | ||
14452 | esac | ||
14453 | case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac | ||
14454 | as_fn_append ac_file_inputs " '$ac_f'" | ||
14455 | done | ||
14456 | |||
14457 | # Let's still pretend it is `configure' which instantiates (i.e., don't | ||
14458 | # use $as_me), people would be surprised to read: | ||
14459 | # /* config.h. Generated by config.status. */ | ||
14460 | configure_input='Generated from '` | ||
14461 | $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' | ||
14462 | `' by configure.' | ||
14463 | if test x"$ac_file" != x-; then | ||
14464 | configure_input="$ac_file. $configure_input" | ||
14465 | { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 | ||
14466 | $as_echo "$as_me: creating $ac_file" >&6;} | ||
14467 | fi | ||
14468 | # Neutralize special characters interpreted by sed in replacement strings. | ||
14469 | case $configure_input in #( | ||
14470 | *\&* | *\|* | *\\* ) | ||
14471 | ac_sed_conf_input=`$as_echo "$configure_input" | | ||
14472 | sed 's/[\\\\&|]/\\\\&/g'`;; #( | ||
14473 | *) ac_sed_conf_input=$configure_input;; | ||
14474 | esac | ||
14475 | |||
14476 | case $ac_tag in | ||
14477 | *:-:* | *:-) cat >"$ac_tmp/stdin" \ | ||
14478 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; | ||
14479 | esac | ||
14480 | ;; | ||
14481 | esac | ||
14482 | |||
14483 | ac_dir=`$as_dirname -- "$ac_file" || | ||
14484 | $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
14485 | X"$ac_file" : 'X\(//\)[^/]' \| \ | ||
14486 | X"$ac_file" : 'X\(//\)$' \| \ | ||
14487 | X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || | ||
14488 | $as_echo X"$ac_file" | | ||
14489 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||
14490 | s//\1/ | ||
14491 | q | ||
14492 | } | ||
14493 | /^X\(\/\/\)[^/].*/{ | ||
14494 | s//\1/ | ||
14495 | q | ||
14496 | } | ||
14497 | /^X\(\/\/\)$/{ | ||
14498 | s//\1/ | ||
14499 | q | ||
14500 | } | ||
14501 | /^X\(\/\).*/{ | ||
14502 | s//\1/ | ||
14503 | q | ||
14504 | } | ||
14505 | s/.*/./; q'` | ||
14506 | as_dir="$ac_dir"; as_fn_mkdir_p | ||
14507 | ac_builddir=. | ||
14508 | |||
14509 | case "$ac_dir" in | ||
14510 | .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; | ||
14511 | *) | ||
14512 | ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` | ||
14513 | # A ".." for each directory in $ac_dir_suffix. | ||
14514 | ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` | ||
14515 | case $ac_top_builddir_sub in | ||
14516 | "") ac_top_builddir_sub=. ac_top_build_prefix= ;; | ||
14517 | *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; | ||
14518 | esac ;; | ||
14519 | esac | ||
14520 | ac_abs_top_builddir=$ac_pwd | ||
14521 | ac_abs_builddir=$ac_pwd$ac_dir_suffix | ||
14522 | # for backward compatibility: | ||
14523 | ac_top_builddir=$ac_top_build_prefix | ||
14524 | |||
14525 | case $srcdir in | ||
14526 | .) # We are building in place. | ||
14527 | ac_srcdir=. | ||
14528 | ac_top_srcdir=$ac_top_builddir_sub | ||
14529 | ac_abs_top_srcdir=$ac_pwd ;; | ||
14530 | [\\/]* | ?:[\\/]* ) # Absolute name. | ||
14531 | ac_srcdir=$srcdir$ac_dir_suffix; | ||
14532 | ac_top_srcdir=$srcdir | ||
14533 | ac_abs_top_srcdir=$srcdir ;; | ||
14534 | *) # Relative name. | ||
14535 | ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix | ||
14536 | ac_top_srcdir=$ac_top_build_prefix$srcdir | ||
14537 | ac_abs_top_srcdir=$ac_pwd/$srcdir ;; | ||
14538 | esac | ||
14539 | ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix | ||
14540 | |||
14541 | |||
14542 | case $ac_mode in | ||
14543 | :F) | ||
14544 | # | ||
14545 | # CONFIG_FILE | ||
14546 | # | ||
14547 | |||
14548 | case $INSTALL in | ||
14549 | [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; | ||
14550 | *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; | ||
14551 | esac | ||
14552 | ac_MKDIR_P=$MKDIR_P | ||
14553 | case $MKDIR_P in | ||
14554 | [\\/$]* | ?:[\\/]* ) ;; | ||
14555 | */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; | ||
14556 | esac | ||
14557 | _ACEOF | ||
14558 | |||
14559 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
14560 | # If the template does not know about datarootdir, expand it. | ||
14561 | # FIXME: This hack should be removed a few years after 2.60. | ||
14562 | ac_datarootdir_hack=; ac_datarootdir_seen= | ||
14563 | ac_sed_dataroot=' | ||
14564 | /datarootdir/ { | ||
14565 | p | ||
14566 | q | ||
14567 | } | ||
14568 | /@datadir@/p | ||
14569 | /@docdir@/p | ||
14570 | /@infodir@/p | ||
14571 | /@localedir@/p | ||
14572 | /@mandir@/p' | ||
14573 | case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in | ||
14574 | *datarootdir*) ac_datarootdir_seen=yes;; | ||
14575 | *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) | ||
14576 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 | ||
14577 | $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} | ||
14578 | _ACEOF | ||
14579 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
14580 | ac_datarootdir_hack=' | ||
14581 | s&@datadir@&$datadir&g | ||
14582 | s&@docdir@&$docdir&g | ||
14583 | s&@infodir@&$infodir&g | ||
14584 | s&@localedir@&$localedir&g | ||
14585 | s&@mandir@&$mandir&g | ||
14586 | s&\\\${datarootdir}&$datarootdir&g' ;; | ||
14587 | esac | ||
14588 | _ACEOF | ||
14589 | |||
14590 | # Neutralize VPATH when `$srcdir' = `.'. | ||
14591 | # Shell code in configure.ac might set extrasub. | ||
14592 | # FIXME: do we really want to maintain this feature? | ||
14593 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||
14594 | ac_sed_extra="$ac_vpsub | ||
14595 | $extrasub | ||
14596 | _ACEOF | ||
14597 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
14598 | :t | ||
14599 | /@[a-zA-Z_][a-zA-Z_0-9]*@/!b | ||
14600 | s|@configure_input@|$ac_sed_conf_input|;t t | ||
14601 | s&@top_builddir@&$ac_top_builddir_sub&;t t | ||
14602 | s&@top_build_prefix@&$ac_top_build_prefix&;t t | ||
14603 | s&@srcdir@&$ac_srcdir&;t t | ||
14604 | s&@abs_srcdir@&$ac_abs_srcdir&;t t | ||
14605 | s&@top_srcdir@&$ac_top_srcdir&;t t | ||
14606 | s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t | ||
14607 | s&@builddir@&$ac_builddir&;t t | ||
14608 | s&@abs_builddir@&$ac_abs_builddir&;t t | ||
14609 | s&@abs_top_builddir@&$ac_abs_top_builddir&;t t | ||
14610 | s&@INSTALL@&$ac_INSTALL&;t t | ||
14611 | s&@MKDIR_P@&$ac_MKDIR_P&;t t | ||
14612 | $ac_datarootdir_hack | ||
14613 | " | ||
14614 | eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ | ||
14615 | >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 | ||
14616 | |||
14617 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && | ||
14618 | { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && | ||
14619 | { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ | ||
14620 | "$ac_tmp/out"`; test -z "$ac_out"; } && | ||
14621 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' | ||
14622 | which seems to be undefined. Please make sure it is defined" >&5 | ||
14623 | $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' | ||
14624 | which seems to be undefined. Please make sure it is defined" >&2;} | ||
14625 | |||
14626 | rm -f "$ac_tmp/stdin" | ||
14627 | case $ac_file in | ||
14628 | -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; | ||
14629 | *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; | ||
14630 | esac \ | ||
14631 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 | ||
14632 | ;; | ||
14633 | :H) | ||
14634 | # | ||
14635 | # CONFIG_HEADER | ||
14636 | # | ||
14637 | if test x"$ac_file" != x-; then | ||
14638 | { | ||
14639 | $as_echo "/* $configure_input */" \ | ||
14640 | && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" | ||
14641 | } >"$ac_tmp/config.h" \ | ||
14642 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 | ||
14643 | if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then | ||
14644 | { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 | ||
14645 | $as_echo "$as_me: $ac_file is unchanged" >&6;} | ||
14646 | else | ||
14647 | rm -f "$ac_file" | ||
14648 | mv "$ac_tmp/config.h" "$ac_file" \ | ||
14649 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 | ||
14650 | fi | ||
14651 | else | ||
14652 | $as_echo "/* $configure_input */" \ | ||
14653 | && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ | ||
14654 | || as_fn_error $? "could not create -" "$LINENO" 5 | ||
14655 | fi | ||
14656 | # Compute "$ac_file"'s index in $config_headers. | ||
14657 | _am_arg="$ac_file" | ||
14658 | _am_stamp_count=1 | ||
14659 | for _am_header in $config_headers :; do | ||
14660 | case $_am_header in | ||
14661 | $_am_arg | $_am_arg:* ) | ||
14662 | break ;; | ||
14663 | * ) | ||
14664 | _am_stamp_count=`expr $_am_stamp_count + 1` ;; | ||
14665 | esac | ||
14666 | done | ||
14667 | echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || | ||
14668 | $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
14669 | X"$_am_arg" : 'X\(//\)[^/]' \| \ | ||
14670 | X"$_am_arg" : 'X\(//\)$' \| \ | ||
14671 | X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || | ||
14672 | $as_echo X"$_am_arg" | | ||
14673 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||
14674 | s//\1/ | ||
14675 | q | ||
14676 | } | ||
14677 | /^X\(\/\/\)[^/].*/{ | ||
14678 | s//\1/ | ||
14679 | q | ||
14680 | } | ||
14681 | /^X\(\/\/\)$/{ | ||
14682 | s//\1/ | ||
14683 | q | ||
14684 | } | ||
14685 | /^X\(\/\).*/{ | ||
14686 | s//\1/ | ||
14687 | q | ||
14688 | } | ||
14689 | s/.*/./; q'`/stamp-h$_am_stamp_count | ||
14690 | ;; | ||
14691 | |||
14692 | :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 | ||
14693 | $as_echo "$as_me: executing $ac_file commands" >&6;} | ||
14694 | ;; | ||
14695 | esac | ||
14696 | |||
14697 | |||
14698 | case $ac_file$ac_mode in | ||
14699 | "depfiles":C) test x"$AMDEP_TRUE" != x"" || { | ||
14700 | # Older Autoconf quotes --file arguments for eval, but not when files | ||
14701 | # are listed without --file. Let's play safe and only enable the eval | ||
14702 | # if we detect the quoting. | ||
14703 | case $CONFIG_FILES in | ||
14704 | *\'*) eval set x "$CONFIG_FILES" ;; | ||
14705 | *) set x $CONFIG_FILES ;; | ||
14706 | esac | ||
14707 | shift | ||
14708 | for mf | ||
14709 | do | ||
14710 | # Strip MF so we end up with the name of the file. | ||
14711 | mf=`echo "$mf" | sed -e 's/:.*$//'` | ||
14712 | # Check whether this is an Automake generated Makefile or not. | ||
14713 | # We used to match only the files named 'Makefile.in', but | ||
14714 | # some people rename them; so instead we look at the file content. | ||
14715 | # Grep'ing the first line is not enough: some people post-process | ||
14716 | # each Makefile.in and add a new line on top of each file to say so. | ||
14717 | # Grep'ing the whole file is not good either: AIX grep has a line | ||
14718 | # limit of 2048, but all sed's we know have understand at least 4000. | ||
14719 | if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then | ||
14720 | dirpart=`$as_dirname -- "$mf" || | ||
14721 | $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
14722 | X"$mf" : 'X\(//\)[^/]' \| \ | ||
14723 | X"$mf" : 'X\(//\)$' \| \ | ||
14724 | X"$mf" : 'X\(/\)' \| . 2>/dev/null || | ||
14725 | $as_echo X"$mf" | | ||
14726 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||
14727 | s//\1/ | ||
14728 | q | ||
14729 | } | ||
14730 | /^X\(\/\/\)[^/].*/{ | ||
14731 | s//\1/ | ||
14732 | q | ||
14733 | } | ||
14734 | /^X\(\/\/\)$/{ | ||
14735 | s//\1/ | ||
14736 | q | ||
14737 | } | ||
14738 | /^X\(\/\).*/{ | ||
14739 | s//\1/ | ||
14740 | q | ||
14741 | } | ||
14742 | s/.*/./; q'` | ||
14743 | else | ||
14744 | continue | ||
14745 | fi | ||
14746 | # Extract the definition of DEPDIR, am__include, and am__quote | ||
14747 | # from the Makefile without running 'make'. | ||
14748 | DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` | ||
14749 | test -z "$DEPDIR" && continue | ||
14750 | am__include=`sed -n 's/^am__include = //p' < "$mf"` | ||
14751 | test -z "$am__include" && continue | ||
14752 | am__quote=`sed -n 's/^am__quote = //p' < "$mf"` | ||
14753 | # Find all dependency output files, they are included files with | ||
14754 | # $(DEPDIR) in their names. We invoke sed twice because it is the | ||
14755 | # simplest approach to changing $(DEPDIR) to its actual value in the | ||
14756 | # expansion. | ||
14757 | for file in `sed -n " | ||
14758 | s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ | ||
14759 | sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do | ||
14760 | # Make sure the directory exists. | ||
14761 | test -f "$dirpart/$file" && continue | ||
14762 | fdir=`$as_dirname -- "$file" || | ||
14763 | $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
14764 | X"$file" : 'X\(//\)[^/]' \| \ | ||
14765 | X"$file" : 'X\(//\)$' \| \ | ||
14766 | X"$file" : 'X\(/\)' \| . 2>/dev/null || | ||
14767 | $as_echo X"$file" | | ||
14768 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||
14769 | s//\1/ | ||
14770 | q | ||
14771 | } | ||
14772 | /^X\(\/\/\)[^/].*/{ | ||
14773 | s//\1/ | ||
14774 | q | ||
14775 | } | ||
14776 | /^X\(\/\/\)$/{ | ||
14777 | s//\1/ | ||
14778 | q | ||
14779 | } | ||
14780 | /^X\(\/\).*/{ | ||
14781 | s//\1/ | ||
14782 | q | ||
14783 | } | ||
14784 | s/.*/./; q'` | ||
14785 | as_dir=$dirpart/$fdir; as_fn_mkdir_p | ||
14786 | # echo "creating $dirpart/$file" | ||
14787 | echo '# dummy' > "$dirpart/$file" | ||
14788 | done | ||
14789 | done | ||
14790 | } | ||
14791 | ;; | ||
14792 | "libtool":C) | ||
14793 | |||
14794 | # See if we are running on zsh, and set the options which allow our | ||
14795 | # commands through without removal of \ escapes. | ||
14796 | if test -n "${ZSH_VERSION+set}" ; then | ||
14797 | setopt NO_GLOB_SUBST | ||
14798 | fi | ||
14799 | |||
14800 | cfgfile="${ofile}T" | ||
14801 | trap "$RM \"$cfgfile\"; exit 1" 1 2 15 | ||
14802 | $RM "$cfgfile" | ||
14803 | |||
14804 | cat <<_LT_EOF >> "$cfgfile" | ||
14805 | #! $SHELL | ||
14806 | |||
14807 | # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. | ||
14808 | # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION | ||
14809 | # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | ||
14810 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. | ||
14811 | # | ||
14812 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, | ||
14813 | # 2006, 2007, 2008, 2009, 2010, 2011 Free Software | ||
14814 | # Foundation, Inc. | ||
14815 | # Written by Gordon Matzigkeit, 1996 | ||
14816 | # | ||
14817 | # This file is part of GNU Libtool. | ||
14818 | # | ||
14819 | # GNU Libtool is free software; you can redistribute it and/or | ||
14820 | # modify it under the terms of the GNU General Public License as | ||
14821 | # published by the Free Software Foundation; either version 2 of | ||
14822 | # the License, or (at your option) any later version. | ||
14823 | # | ||
14824 | # As a special exception to the GNU General Public License, | ||
14825 | # if you distribute this file as part of a program or library that | ||
14826 | # is built using GNU Libtool, you may include this file under the | ||
14827 | # same distribution terms that you use for the rest of that program. | ||
14828 | # | ||
14829 | # GNU Libtool is distributed in the hope that it will be useful, | ||
14830 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14831 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14832 | # GNU General Public License for more details. | ||
14833 | # | ||
14834 | # You should have received a copy of the GNU General Public License | ||
14835 | # along with GNU Libtool; see the file COPYING. If not, a copy | ||
14836 | # can be downloaded from http://www.gnu.org/licenses/gpl.html, or | ||
14837 | # obtained by writing to the Free Software Foundation, Inc., | ||
14838 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
14839 | |||
14840 | |||
14841 | # The names of the tagged configurations supported by this script. | ||
14842 | available_tags="" | ||
14843 | |||
14844 | # ### BEGIN LIBTOOL CONFIG | ||
14845 | |||
14846 | # Assembler program. | ||
14847 | AS=$lt_AS | ||
14848 | |||
14849 | # DLL creation program. | ||
14850 | DLLTOOL=$lt_DLLTOOL | ||
14851 | |||
14852 | # Object dumper program. | ||
14853 | OBJDUMP=$lt_OBJDUMP | ||
14854 | |||
14855 | # Which release of libtool.m4 was used? | ||
14856 | macro_version=$macro_version | ||
14857 | macro_revision=$macro_revision | ||
14858 | |||
14859 | # Whether or not to build shared libraries. | ||
14860 | build_libtool_libs=$enable_shared | ||
14861 | |||
14862 | # Whether or not to build static libraries. | ||
14863 | build_old_libs=$enable_static | ||
14864 | |||
14865 | # What type of objects to build. | ||
14866 | pic_mode=$pic_mode | ||
14867 | |||
14868 | # Whether or not to optimize for fast installation. | ||
14869 | fast_install=$enable_fast_install | ||
14870 | |||
14871 | # Shell to use when invoking shell scripts. | ||
14872 | SHELL=$lt_SHELL | ||
14873 | |||
14874 | # An echo program that protects backslashes. | ||
14875 | ECHO=$lt_ECHO | ||
14876 | |||
14877 | # The PATH separator for the build system. | ||
14878 | PATH_SEPARATOR=$lt_PATH_SEPARATOR | ||
14879 | |||
14880 | # The host system. | ||
14881 | host_alias=$host_alias | ||
14882 | host=$host | ||
14883 | host_os=$host_os | ||
14884 | |||
14885 | # The build system. | ||
14886 | build_alias=$build_alias | ||
14887 | build=$build | ||
14888 | build_os=$build_os | ||
14889 | |||
14890 | # A sed program that does not truncate output. | ||
14891 | SED=$lt_SED | ||
14892 | |||
14893 | # Sed that helps us avoid accidentally triggering echo(1) options like -n. | ||
14894 | Xsed="\$SED -e 1s/^X//" | ||
14895 | |||
14896 | # A grep program that handles long lines. | ||
14897 | GREP=$lt_GREP | ||
14898 | |||
14899 | # An ERE matcher. | ||
14900 | EGREP=$lt_EGREP | ||
14901 | |||
14902 | # A literal string matcher. | ||
14903 | FGREP=$lt_FGREP | ||
14904 | |||
14905 | # A BSD- or MS-compatible name lister. | ||
14906 | NM=$lt_NM | ||
14907 | |||
14908 | # Whether we need soft or hard links. | ||
14909 | LN_S=$lt_LN_S | ||
14910 | |||
14911 | # What is the maximum length of a command? | ||
14912 | max_cmd_len=$max_cmd_len | ||
14913 | |||
14914 | # Object file suffix (normally "o"). | ||
14915 | objext=$ac_objext | ||
14916 | |||
14917 | # Executable file suffix (normally ""). | ||
14918 | exeext=$exeext | ||
14919 | |||
14920 | # whether the shell understands "unset". | ||
14921 | lt_unset=$lt_unset | ||
14922 | |||
14923 | # turn spaces into newlines. | ||
14924 | SP2NL=$lt_lt_SP2NL | ||
14925 | |||
14926 | # turn newlines into spaces. | ||
14927 | NL2SP=$lt_lt_NL2SP | ||
14928 | |||
14929 | # convert \$build file names to \$host format. | ||
14930 | to_host_file_cmd=$lt_cv_to_host_file_cmd | ||
14931 | |||
14932 | # convert \$build files to toolchain format. | ||
14933 | to_tool_file_cmd=$lt_cv_to_tool_file_cmd | ||
14934 | |||
14935 | # Method to check whether dependent libraries are shared objects. | ||
14936 | deplibs_check_method=$lt_deplibs_check_method | ||
14937 | |||
14938 | # Command to use when deplibs_check_method = "file_magic". | ||
14939 | file_magic_cmd=$lt_file_magic_cmd | ||
14940 | |||
14941 | # How to find potential files when deplibs_check_method = "file_magic". | ||
14942 | file_magic_glob=$lt_file_magic_glob | ||
14943 | |||
14944 | # Find potential files using nocaseglob when deplibs_check_method = "file_magic". | ||
14945 | want_nocaseglob=$lt_want_nocaseglob | ||
14946 | |||
14947 | # Command to associate shared and link libraries. | ||
14948 | sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd | ||
14949 | |||
14950 | # The archiver. | ||
14951 | AR=$lt_AR | ||
14952 | |||
14953 | # Flags to create an archive. | ||
14954 | AR_FLAGS=$lt_AR_FLAGS | ||
14955 | |||
14956 | # How to feed a file listing to the archiver. | ||
14957 | archiver_list_spec=$lt_archiver_list_spec | ||
14958 | |||
14959 | # A symbol stripping program. | ||
14960 | STRIP=$lt_STRIP | ||
14961 | |||
14962 | # Commands used to install an old-style archive. | ||
14963 | RANLIB=$lt_RANLIB | ||
14964 | old_postinstall_cmds=$lt_old_postinstall_cmds | ||
14965 | old_postuninstall_cmds=$lt_old_postuninstall_cmds | ||
14966 | |||
14967 | # Whether to use a lock for old archive extraction. | ||
14968 | lock_old_archive_extraction=$lock_old_archive_extraction | ||
14969 | |||
14970 | # A C compiler. | ||
14971 | LTCC=$lt_CC | ||
14972 | |||
14973 | # LTCC compiler flags. | ||
14974 | LTCFLAGS=$lt_CFLAGS | ||
14975 | |||
14976 | # Take the output of nm and produce a listing of raw symbols and C names. | ||
14977 | global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe | ||
14978 | |||
14979 | # Transform the output of nm in a proper C declaration. | ||
14980 | global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl | ||
14981 | |||
14982 | # Transform the output of nm in a C name address pair. | ||
14983 | global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address | ||
14984 | |||
14985 | # Transform the output of nm in a C name address pair when lib prefix is needed. | ||
14986 | global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix | ||
14987 | |||
14988 | # Specify filename containing input files for \$NM. | ||
14989 | nm_file_list_spec=$lt_nm_file_list_spec | ||
14990 | |||
14991 | # The root where to search for dependent libraries,and in which our libraries should be installed. | ||
14992 | lt_sysroot=$lt_sysroot | ||
14993 | |||
14994 | # The name of the directory that contains temporary libtool files. | ||
14995 | objdir=$objdir | ||
14996 | |||
14997 | # Used to examine libraries when file_magic_cmd begins with "file". | ||
14998 | MAGIC_CMD=$MAGIC_CMD | ||
14999 | |||
15000 | # Must we lock files when doing compilation? | ||
15001 | need_locks=$lt_need_locks | ||
15002 | |||
15003 | # Manifest tool. | ||
15004 | MANIFEST_TOOL=$lt_MANIFEST_TOOL | ||
15005 | |||
15006 | # Tool to manipulate archived DWARF debug symbol files on Mac OS X. | ||
15007 | DSYMUTIL=$lt_DSYMUTIL | ||
15008 | |||
15009 | # Tool to change global to local symbols on Mac OS X. | ||
15010 | NMEDIT=$lt_NMEDIT | ||
15011 | |||
15012 | # Tool to manipulate fat objects and archives on Mac OS X. | ||
15013 | LIPO=$lt_LIPO | ||
15014 | |||
15015 | # ldd/readelf like tool for Mach-O binaries on Mac OS X. | ||
15016 | OTOOL=$lt_OTOOL | ||
15017 | |||
15018 | # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. | ||
15019 | OTOOL64=$lt_OTOOL64 | ||
15020 | |||
15021 | # Old archive suffix (normally "a"). | ||
15022 | libext=$libext | ||
15023 | |||
15024 | # Shared library suffix (normally ".so"). | ||
15025 | shrext_cmds=$lt_shrext_cmds | ||
15026 | |||
15027 | # The commands to extract the exported symbol list from a shared archive. | ||
15028 | extract_expsyms_cmds=$lt_extract_expsyms_cmds | ||
15029 | |||
15030 | # Variables whose values should be saved in libtool wrapper scripts and | ||
15031 | # restored at link time. | ||
15032 | variables_saved_for_relink=$lt_variables_saved_for_relink | ||
15033 | |||
15034 | # Do we need the "lib" prefix for modules? | ||
15035 | need_lib_prefix=$need_lib_prefix | ||
15036 | |||
15037 | # Do we need a version for libraries? | ||
15038 | need_version=$need_version | ||
15039 | |||
15040 | # Library versioning type. | ||
15041 | version_type=$version_type | ||
15042 | |||
15043 | # Shared library runtime path variable. | ||
15044 | runpath_var=$runpath_var | ||
15045 | |||
15046 | # Shared library path variable. | ||
15047 | shlibpath_var=$shlibpath_var | ||
15048 | |||
15049 | # Is shlibpath searched before the hard-coded library search path? | ||
15050 | shlibpath_overrides_runpath=$shlibpath_overrides_runpath | ||
15051 | |||
15052 | # Format of library name prefix. | ||
15053 | libname_spec=$lt_libname_spec | ||
15054 | |||
15055 | # List of archive names. First name is the real one, the rest are links. | ||
15056 | # The last name is the one that the linker finds with -lNAME | ||
15057 | library_names_spec=$lt_library_names_spec | ||
15058 | |||
15059 | # The coded name of the library, if different from the real name. | ||
15060 | soname_spec=$lt_soname_spec | ||
15061 | |||
15062 | # Permission mode override for installation of shared libraries. | ||
15063 | install_override_mode=$lt_install_override_mode | ||
15064 | |||
15065 | # Command to use after installation of a shared archive. | ||
15066 | postinstall_cmds=$lt_postinstall_cmds | ||
15067 | |||
15068 | # Command to use after uninstallation of a shared archive. | ||
15069 | postuninstall_cmds=$lt_postuninstall_cmds | ||
15070 | |||
15071 | # Commands used to finish a libtool library installation in a directory. | ||
15072 | finish_cmds=$lt_finish_cmds | ||
15073 | |||
15074 | # As "finish_cmds", except a single script fragment to be evaled but | ||
15075 | # not shown. | ||
15076 | finish_eval=$lt_finish_eval | ||
15077 | |||
15078 | # Whether we should hardcode library paths into libraries. | ||
15079 | hardcode_into_libs=$hardcode_into_libs | ||
15080 | |||
15081 | # Compile-time system search path for libraries. | ||
15082 | sys_lib_search_path_spec=$lt_sys_lib_search_path_spec | ||
15083 | |||
15084 | # Run-time system search path for libraries. | ||
15085 | sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec | ||
15086 | |||
15087 | # Whether dlopen is supported. | ||
15088 | dlopen_support=$enable_dlopen | ||
15089 | |||
15090 | # Whether dlopen of programs is supported. | ||
15091 | dlopen_self=$enable_dlopen_self | ||
15092 | |||
15093 | # Whether dlopen of statically linked programs is supported. | ||
15094 | dlopen_self_static=$enable_dlopen_self_static | ||
15095 | |||
15096 | # Commands to strip libraries. | ||
15097 | old_striplib=$lt_old_striplib | ||
15098 | striplib=$lt_striplib | ||
15099 | |||
15100 | |||
15101 | # The linker used to build libraries. | ||
15102 | LD=$lt_LD | ||
15103 | |||
15104 | # How to create reloadable object files. | ||
15105 | reload_flag=$lt_reload_flag | ||
15106 | reload_cmds=$lt_reload_cmds | ||
15107 | |||
15108 | # Commands used to build an old-style archive. | ||
15109 | old_archive_cmds=$lt_old_archive_cmds | ||
15110 | |||
15111 | # A language specific compiler. | ||
15112 | CC=$lt_compiler | ||
15113 | |||
15114 | # Is the compiler the GNU compiler? | ||
15115 | with_gcc=$GCC | ||
15116 | |||
15117 | # Compiler flag to turn off builtin functions. | ||
15118 | no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag | ||
15119 | |||
15120 | # Additional compiler flags for building library objects. | ||
15121 | pic_flag=$lt_lt_prog_compiler_pic | ||
15122 | |||
15123 | # How to pass a linker flag through the compiler. | ||
15124 | wl=$lt_lt_prog_compiler_wl | ||
15125 | |||
15126 | # Compiler flag to prevent dynamic linking. | ||
15127 | link_static_flag=$lt_lt_prog_compiler_static | ||
15128 | |||
15129 | # Does compiler simultaneously support -c and -o options? | ||
15130 | compiler_c_o=$lt_lt_cv_prog_compiler_c_o | ||
15131 | |||
15132 | # Whether or not to add -lc for building shared libraries. | ||
15133 | build_libtool_need_lc=$archive_cmds_need_lc | ||
15134 | |||
15135 | # Whether or not to disallow shared libs when runtime libs are static. | ||
15136 | allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes | ||
15137 | |||
15138 | # Compiler flag to allow reflexive dlopens. | ||
15139 | export_dynamic_flag_spec=$lt_export_dynamic_flag_spec | ||
15140 | |||
15141 | # Compiler flag to generate shared objects directly from archives. | ||
15142 | whole_archive_flag_spec=$lt_whole_archive_flag_spec | ||
15143 | |||
15144 | # Whether the compiler copes with passing no objects directly. | ||
15145 | compiler_needs_object=$lt_compiler_needs_object | ||
15146 | |||
15147 | # Create an old-style archive from a shared archive. | ||
15148 | old_archive_from_new_cmds=$lt_old_archive_from_new_cmds | ||
15149 | |||
15150 | # Create a temporary old-style archive to link instead of a shared archive. | ||
15151 | old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds | ||
15152 | |||
15153 | # Commands used to build a shared archive. | ||
15154 | archive_cmds=$lt_archive_cmds | ||
15155 | archive_expsym_cmds=$lt_archive_expsym_cmds | ||
15156 | |||
15157 | # Commands used to build a loadable module if different from building | ||
15158 | # a shared archive. | ||
15159 | module_cmds=$lt_module_cmds | ||
15160 | module_expsym_cmds=$lt_module_expsym_cmds | ||
15161 | |||
15162 | # Whether we are building with GNU ld or not. | ||
15163 | with_gnu_ld=$lt_with_gnu_ld | ||
15164 | |||
15165 | # Flag that allows shared libraries with undefined symbols to be built. | ||
15166 | allow_undefined_flag=$lt_allow_undefined_flag | ||
15167 | |||
15168 | # Flag that enforces no undefined symbols. | ||
15169 | no_undefined_flag=$lt_no_undefined_flag | ||
15170 | |||
15171 | # Flag to hardcode \$libdir into a binary during linking. | ||
15172 | # This must work even if \$libdir does not exist | ||
15173 | hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec | ||
15174 | |||
15175 | # Whether we need a single "-rpath" flag with a separated argument. | ||
15176 | hardcode_libdir_separator=$lt_hardcode_libdir_separator | ||
15177 | |||
15178 | # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes | ||
15179 | # DIR into the resulting binary. | ||
15180 | hardcode_direct=$hardcode_direct | ||
15181 | |||
15182 | # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes | ||
15183 | # DIR into the resulting binary and the resulting library dependency is | ||
15184 | # "absolute",i.e impossible to change by setting \${shlibpath_var} if the | ||
15185 | # library is relocated. | ||
15186 | hardcode_direct_absolute=$hardcode_direct_absolute | ||
15187 | |||
15188 | # Set to "yes" if using the -LDIR flag during linking hardcodes DIR | ||
15189 | # into the resulting binary. | ||
15190 | hardcode_minus_L=$hardcode_minus_L | ||
15191 | |||
15192 | # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR | ||
15193 | # into the resulting binary. | ||
15194 | hardcode_shlibpath_var=$hardcode_shlibpath_var | ||
15195 | |||
15196 | # Set to "yes" if building a shared library automatically hardcodes DIR | ||
15197 | # into the library and all subsequent libraries and executables linked | ||
15198 | # against it. | ||
15199 | hardcode_automatic=$hardcode_automatic | ||
15200 | |||
15201 | # Set to yes if linker adds runtime paths of dependent libraries | ||
15202 | # to runtime path list. | ||
15203 | inherit_rpath=$inherit_rpath | ||
15204 | |||
15205 | # Whether libtool must link a program against all its dependency libraries. | ||
15206 | link_all_deplibs=$link_all_deplibs | ||
15207 | |||
15208 | # Set to "yes" if exported symbols are required. | ||
15209 | always_export_symbols=$always_export_symbols | ||
15210 | |||
15211 | # The commands to list exported symbols. | ||
15212 | export_symbols_cmds=$lt_export_symbols_cmds | ||
15213 | |||
15214 | # Symbols that should not be listed in the preloaded symbols. | ||
15215 | exclude_expsyms=$lt_exclude_expsyms | ||
15216 | |||
15217 | # Symbols that must always be exported. | ||
15218 | include_expsyms=$lt_include_expsyms | ||
15219 | |||
15220 | # Commands necessary for linking programs (against libraries) with templates. | ||
15221 | prelink_cmds=$lt_prelink_cmds | ||
15222 | |||
15223 | # Commands necessary for finishing linking programs. | ||
15224 | postlink_cmds=$lt_postlink_cmds | ||
15225 | |||
15226 | # Specify filename containing input files. | ||
15227 | file_list_spec=$lt_file_list_spec | ||
15228 | |||
15229 | # How to hardcode a shared library path into an executable. | ||
15230 | hardcode_action=$hardcode_action | ||
15231 | |||
15232 | # ### END LIBTOOL CONFIG | ||
15233 | |||
15234 | _LT_EOF | ||
15235 | |||
15236 | case $host_os in | ||
15237 | aix3*) | ||
15238 | cat <<\_LT_EOF >> "$cfgfile" | ||
15239 | # AIX sometimes has problems with the GCC collect2 program. For some | ||
15240 | # reason, if we set the COLLECT_NAMES environment variable, the problems | ||
15241 | # vanish in a puff of smoke. | ||
15242 | if test "X${COLLECT_NAMES+set}" != Xset; then | ||
15243 | COLLECT_NAMES= | ||
15244 | export COLLECT_NAMES | ||
15245 | fi | ||
15246 | _LT_EOF | ||
15247 | ;; | ||
15248 | esac | ||
15249 | |||
15250 | |||
15251 | ltmain="$ac_aux_dir/ltmain.sh" | ||
15252 | |||
15253 | |||
15254 | # We use sed instead of cat because bash on DJGPP gets confused if | ||
15255 | # if finds mixed CR/LF and LF-only lines. Since sed operates in | ||
15256 | # text mode, it properly converts lines to CR/LF. This bash problem | ||
15257 | # is reportedly fixed, but why not run on old versions too? | ||
15258 | sed '$q' "$ltmain" >> "$cfgfile" \ | ||
15259 | || (rm -f "$cfgfile"; exit 1) | ||
15260 | |||
15261 | if test x"$xsi_shell" = xyes; then | ||
15262 | sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ | ||
15263 | func_dirname ()\ | ||
15264 | {\ | ||
15265 | \ case ${1} in\ | ||
15266 | \ */*) func_dirname_result="${1%/*}${2}" ;;\ | ||
15267 | \ * ) func_dirname_result="${3}" ;;\ | ||
15268 | \ esac\ | ||
15269 | } # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15270 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15271 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15272 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15273 | |||
15274 | |||
15275 | sed -e '/^func_basename ()$/,/^} # func_basename /c\ | ||
15276 | func_basename ()\ | ||
15277 | {\ | ||
15278 | \ func_basename_result="${1##*/}"\ | ||
15279 | } # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15280 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15281 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15282 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15283 | |||
15284 | |||
15285 | sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ | ||
15286 | func_dirname_and_basename ()\ | ||
15287 | {\ | ||
15288 | \ case ${1} in\ | ||
15289 | \ */*) func_dirname_result="${1%/*}${2}" ;;\ | ||
15290 | \ * ) func_dirname_result="${3}" ;;\ | ||
15291 | \ esac\ | ||
15292 | \ func_basename_result="${1##*/}"\ | ||
15293 | } # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15294 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15295 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15296 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15297 | |||
15298 | |||
15299 | sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ | ||
15300 | func_stripname ()\ | ||
15301 | {\ | ||
15302 | \ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ | ||
15303 | \ # positional parameters, so assign one to ordinary parameter first.\ | ||
15304 | \ func_stripname_result=${3}\ | ||
15305 | \ func_stripname_result=${func_stripname_result#"${1}"}\ | ||
15306 | \ func_stripname_result=${func_stripname_result%"${2}"}\ | ||
15307 | } # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15308 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15309 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15310 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15311 | |||
15312 | |||
15313 | sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ | ||
15314 | func_split_long_opt ()\ | ||
15315 | {\ | ||
15316 | \ func_split_long_opt_name=${1%%=*}\ | ||
15317 | \ func_split_long_opt_arg=${1#*=}\ | ||
15318 | } # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15319 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15320 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15321 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15322 | |||
15323 | |||
15324 | sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ | ||
15325 | func_split_short_opt ()\ | ||
15326 | {\ | ||
15327 | \ func_split_short_opt_arg=${1#??}\ | ||
15328 | \ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ | ||
15329 | } # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15330 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15331 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15332 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15333 | |||
15334 | |||
15335 | sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ | ||
15336 | func_lo2o ()\ | ||
15337 | {\ | ||
15338 | \ case ${1} in\ | ||
15339 | \ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ | ||
15340 | \ *) func_lo2o_result=${1} ;;\ | ||
15341 | \ esac\ | ||
15342 | } # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15343 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15344 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15345 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15346 | |||
15347 | |||
15348 | sed -e '/^func_xform ()$/,/^} # func_xform /c\ | ||
15349 | func_xform ()\ | ||
15350 | {\ | ||
15351 | func_xform_result=${1%.*}.lo\ | ||
15352 | } # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15353 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15354 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15355 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15356 | |||
15357 | |||
15358 | sed -e '/^func_arith ()$/,/^} # func_arith /c\ | ||
15359 | func_arith ()\ | ||
15360 | {\ | ||
15361 | func_arith_result=$(( $* ))\ | ||
15362 | } # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15363 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15364 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15365 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15366 | |||
15367 | |||
15368 | sed -e '/^func_len ()$/,/^} # func_len /c\ | ||
15369 | func_len ()\ | ||
15370 | {\ | ||
15371 | func_len_result=${#1}\ | ||
15372 | } # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15373 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15374 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15375 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15376 | |||
15377 | fi | ||
15378 | |||
15379 | if test x"$lt_shell_append" = xyes; then | ||
15380 | sed -e '/^func_append ()$/,/^} # func_append /c\ | ||
15381 | func_append ()\ | ||
15382 | {\ | ||
15383 | eval "${1}+=\\${2}"\ | ||
15384 | } # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15385 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15386 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15387 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15388 | |||
15389 | |||
15390 | sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ | ||
15391 | func_append_quoted ()\ | ||
15392 | {\ | ||
15393 | \ func_quote_for_eval "${2}"\ | ||
15394 | \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ | ||
15395 | } # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ | ||
15396 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15397 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15398 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15399 | |||
15400 | |||
15401 | # Save a `func_append' function call where possible by direct use of '+=' | ||
15402 | sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ | ||
15403 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15404 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15405 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15406 | else | ||
15407 | # Save a `func_append' function call even when '+=' is not available | ||
15408 | sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ | ||
15409 | && mv -f "$cfgfile.tmp" "$cfgfile" \ | ||
15410 | || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") | ||
15411 | test 0 -eq $? || _lt_function_replace_fail=: | ||
15412 | fi | ||
15413 | |||
15414 | if test x"$_lt_function_replace_fail" = x":"; then | ||
15415 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 | ||
15416 | $as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} | ||
15417 | fi | ||
15418 | |||
15419 | |||
15420 | mv -f "$cfgfile" "$ofile" || | ||
15421 | (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") | ||
15422 | chmod +x "$ofile" | ||
15423 | |||
15424 | ;; | ||
15425 | |||
15426 | esac | ||
15427 | done # for ac_tag | ||
15428 | |||
15429 | |||
15430 | as_fn_exit 0 | ||
15431 | _ACEOF | ||
15432 | ac_clean_files=$ac_clean_files_save | ||
15433 | |||
15434 | test $ac_write_fail = 0 || | ||
15435 | as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 | ||
15436 | |||
15437 | |||
15438 | # configure is writing to config.log, and then calls config.status. | ||
15439 | # config.status does its own redirection, appending to config.log. | ||
15440 | # Unfortunately, on DOS this fails, as config.log is still kept open | ||
15441 | # by configure, so config.status won't be able to write to it; its | ||
15442 | # output is simply discarded. So we exec the FD to /dev/null, | ||
15443 | # effectively closing config.log, so it can be properly (re)opened and | ||
15444 | # appended to by config.status. When coming back to configure, we | ||
15445 | # need to make the FD available again. | ||
15446 | if test "$no_create" != yes; then | ||
15447 | ac_cs_success=: | ||
15448 | ac_config_status_args= | ||
15449 | test "$silent" = yes && | ||
15450 | ac_config_status_args="$ac_config_status_args --quiet" | ||
15451 | exec 5>/dev/null | ||
15452 | $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false | ||
15453 | exec 5>>config.log | ||
15454 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which | ||
15455 | # would make configure fail if this is the last instruction. | ||
15456 | $ac_cs_success || as_fn_exit 1 | ||
15457 | fi | ||
15458 | if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then | ||
15459 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 | ||
15460 | $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} | ||
15461 | fi | ||
15462 | |||
diff --git a/gs/jpeg/configure.ac b/gs/jpeg/configure.ac index 12293b01c..934d07e9c 100644 --- a/gs/jpeg/configure.ac +++ b/gs/jpeg/configure.ac | |||
@@ -5,7 +5,7 @@ | |||
5 | # Configure script for IJG libjpeg | 5 | # Configure script for IJG libjpeg |
6 | # | 6 | # |
7 | 7 | ||
8 | AC_INIT([libjpeg], [8.4.0]) | 8 | AC_INIT([libjpeg], [9.1.0]) |
9 | 9 | ||
10 | # Directory where autotools helper scripts lives. | 10 | # Directory where autotools helper scripts lives. |
11 | AC_CONFIG_AUX_DIR([.]) | 11 | AC_CONFIG_AUX_DIR([.]) |
@@ -21,16 +21,13 @@ AC_CANONICAL_TARGET | |||
21 | 21 | ||
22 | # Initialize Automake | 22 | # Initialize Automake |
23 | # Don't require all the GNU mandated files | 23 | # Don't require all the GNU mandated files |
24 | AM_INIT_AUTOMAKE([-Wall -Werror -Wno-obsolete ansi2knr no-dist foreign]) | 24 | AM_INIT_AUTOMAKE([-Wall -Werror no-dist foreign]) |
25 | 25 | ||
26 | # Make --enable-silent-rules the default. | 26 | # Make --enable-silent-rules the default. |
27 | # To get verbose build output you may configure | 27 | # To get verbose build output you may configure |
28 | # with --disable-silent-rules or use "make V=1". | 28 | # with --disable-silent-rules or use "make V=1". |
29 | AM_SILENT_RULES([yes]) | 29 | AM_SILENT_RULES([yes]) |
30 | 30 | ||
31 | # This is required when using the de-ANSI-fication feature. | ||
32 | AM_C_PROTOTYPES | ||
33 | |||
34 | # Add configure option --enable-maintainer-mode which enables | 31 | # Add configure option --enable-maintainer-mode which enables |
35 | # dependency checking and generation useful to package maintainers. | 32 | # dependency checking and generation useful to package maintainers. |
36 | # This is made an option to avoid confusing end users. | 33 | # This is made an option to avoid confusing end users. |
@@ -43,6 +40,7 @@ AC_PROG_CPP | |||
43 | AC_PROG_INSTALL | 40 | AC_PROG_INSTALL |
44 | AC_PROG_MAKE_SET | 41 | AC_PROG_MAKE_SET |
45 | AC_PROG_LN_S | 42 | AC_PROG_LN_S |
43 | AM_PROG_AR | ||
46 | 44 | ||
47 | # Check if LD supports linker scripts, | 45 | # Check if LD supports linker scripts, |
48 | # and define automake conditional HAVE_LD_VERSION_SCRIPT if so. | 46 | # and define automake conditional HAVE_LD_VERSION_SCRIPT if so. |
@@ -225,6 +223,10 @@ int possibly_dupli_function () { return 1; } | |||
225 | # Run-time checks | 223 | # Run-time checks |
226 | AC_MSG_CHECKING([to see if char is signed]) | 224 | AC_MSG_CHECKING([to see if char is signed]) |
227 | AC_TRY_RUN([ | 225 | AC_TRY_RUN([ |
226 | #ifdef HAVE_STDLIB_H | ||
227 | #include <stdlib.h> | ||
228 | #endif | ||
229 | #include <stdio.h> | ||
228 | #ifdef HAVE_PROTOTYPES | 230 | #ifdef HAVE_PROTOTYPES |
229 | int is_char_signed (int arg) | 231 | int is_char_signed (int arg) |
230 | #else | 232 | #else |
@@ -254,6 +256,10 @@ int main() { | |||
254 | 256 | ||
255 | AC_MSG_CHECKING([to see if right shift is signed]) | 257 | AC_MSG_CHECKING([to see if right shift is signed]) |
256 | AC_TRY_RUN([ | 258 | AC_TRY_RUN([ |
259 | #ifdef HAVE_STDLIB_H | ||
260 | #include <stdlib.h> | ||
261 | #endif | ||
262 | #include <stdio.h> | ||
257 | #ifdef HAVE_PROTOTYPES | 263 | #ifdef HAVE_PROTOTYPES |
258 | int is_shifting_signed (long arg) | 264 | int is_shifting_signed (long arg) |
259 | #else | 265 | #else |
@@ -288,6 +294,9 @@ int main() { | |||
288 | 294 | ||
289 | AC_MSG_CHECKING([to see if fopen accepts b spec]) | 295 | AC_MSG_CHECKING([to see if fopen accepts b spec]) |
290 | AC_TRY_RUN([ | 296 | AC_TRY_RUN([ |
297 | #ifdef HAVE_STDLIB_H | ||
298 | #include <stdlib.h> | ||
299 | #endif | ||
291 | #include <stdio.h> | 300 | #include <stdio.h> |
292 | int main() { | 301 | int main() { |
293 | if (fopen("conftestdata", "wb") != NULL) | 302 | if (fopen("conftestdata", "wb") != NULL) |
diff --git a/gs/jpeg/depcomp b/gs/jpeg/depcomp index bd0ac0895..4ebd5b3a2 100755 --- a/gs/jpeg/depcomp +++ b/gs/jpeg/depcomp | |||
@@ -1,10 +1,9 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # depcomp - compile a program generating dependencies as side-effects | 2 | # depcomp - compile a program generating dependencies as side-effects |
3 | 3 | ||
4 | scriptversion=2011-12-04.11; # UTC | 4 | scriptversion=2013-05-30.07; # UTC |
5 | 5 | ||
6 | # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, | 6 | # Copyright (C) 1999-2013 Free Software Foundation, Inc. |
7 | # 2011 Free Software Foundation, Inc. | ||
8 | 7 | ||
9 | # This program is free software; you can redistribute it and/or modify | 8 | # This program is free software; you can redistribute it and/or modify |
10 | # it under the terms of the GNU General Public License as published by | 9 | # it under the terms of the GNU General Public License as published by |
@@ -28,9 +27,9 @@ scriptversion=2011-12-04.11; # UTC | |||
28 | 27 | ||
29 | case $1 in | 28 | case $1 in |
30 | '') | 29 | '') |
31 | echo "$0: No command. Try \`$0 --help' for more information." 1>&2 | 30 | echo "$0: No command. Try '$0 --help' for more information." 1>&2 |
32 | exit 1; | 31 | exit 1; |
33 | ;; | 32 | ;; |
34 | -h | --h*) | 33 | -h | --h*) |
35 | cat <<\EOF | 34 | cat <<\EOF |
36 | Usage: depcomp [--help] [--version] PROGRAM [ARGS] | 35 | Usage: depcomp [--help] [--version] PROGRAM [ARGS] |
@@ -40,8 +39,8 @@ as side-effects. | |||
40 | 39 | ||
41 | Environment variables: | 40 | Environment variables: |
42 | depmode Dependency tracking mode. | 41 | depmode Dependency tracking mode. |
43 | source Source file read by `PROGRAMS ARGS'. | 42 | source Source file read by 'PROGRAMS ARGS'. |
44 | object Object file output by `PROGRAMS ARGS'. | 43 | object Object file output by 'PROGRAMS ARGS'. |
45 | DEPDIR directory where to store dependencies. | 44 | DEPDIR directory where to store dependencies. |
46 | depfile Dependency file to output. | 45 | depfile Dependency file to output. |
47 | tmpdepfile Temporary file to use when outputting dependencies. | 46 | tmpdepfile Temporary file to use when outputting dependencies. |
@@ -57,6 +56,66 @@ EOF | |||
57 | ;; | 56 | ;; |
58 | esac | 57 | esac |
59 | 58 | ||
59 | # Get the directory component of the given path, and save it in the | ||
60 | # global variables '$dir'. Note that this directory component will | ||
61 | # be either empty or ending with a '/' character. This is deliberate. | ||
62 | set_dir_from () | ||
63 | { | ||
64 | case $1 in | ||
65 | */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; | ||
66 | *) dir=;; | ||
67 | esac | ||
68 | } | ||
69 | |||
70 | # Get the suffix-stripped basename of the given path, and save it the | ||
71 | # global variable '$base'. | ||
72 | set_base_from () | ||
73 | { | ||
74 | base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` | ||
75 | } | ||
76 | |||
77 | # If no dependency file was actually created by the compiler invocation, | ||
78 | # we still have to create a dummy depfile, to avoid errors with the | ||
79 | # Makefile "include basename.Plo" scheme. | ||
80 | make_dummy_depfile () | ||
81 | { | ||
82 | echo "#dummy" > "$depfile" | ||
83 | } | ||
84 | |||
85 | # Factor out some common post-processing of the generated depfile. | ||
86 | # Requires the auxiliary global variable '$tmpdepfile' to be set. | ||
87 | aix_post_process_depfile () | ||
88 | { | ||
89 | # If the compiler actually managed to produce a dependency file, | ||
90 | # post-process it. | ||
91 | if test -f "$tmpdepfile"; then | ||
92 | # Each line is of the form 'foo.o: dependency.h'. | ||
93 | # Do two passes, one to just change these to | ||
94 | # $object: dependency.h | ||
95 | # and one to simply output | ||
96 | # dependency.h: | ||
97 | # which is needed to avoid the deleted-header problem. | ||
98 | { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" | ||
99 | sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" | ||
100 | } > "$depfile" | ||
101 | rm -f "$tmpdepfile" | ||
102 | else | ||
103 | make_dummy_depfile | ||
104 | fi | ||
105 | } | ||
106 | |||
107 | # A tabulation character. | ||
108 | tab=' ' | ||
109 | # A newline character. | ||
110 | nl=' | ||
111 | ' | ||
112 | # Character ranges might be problematic outside the C locale. | ||
113 | # These definitions help. | ||
114 | upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ | ||
115 | lower=abcdefghijklmnopqrstuvwxyz | ||
116 | digits=0123456789 | ||
117 | alpha=${upper}${lower} | ||
118 | |||
60 | if test -z "$depmode" || test -z "$source" || test -z "$object"; then | 119 | if test -z "$depmode" || test -z "$source" || test -z "$object"; then |
61 | echo "depcomp: Variables source, object and depmode must be set" 1>&2 | 120 | echo "depcomp: Variables source, object and depmode must be set" 1>&2 |
62 | exit 1 | 121 | exit 1 |
@@ -69,6 +128,9 @@ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} | |||
69 | 128 | ||
70 | rm -f "$tmpdepfile" | 129 | rm -f "$tmpdepfile" |
71 | 130 | ||
131 | # Avoid interferences from the environment. | ||
132 | gccflag= dashmflag= | ||
133 | |||
72 | # Some modes work just like other modes, but use different flags. We | 134 | # Some modes work just like other modes, but use different flags. We |
73 | # parameterize here, but still list the modes in the big case below, | 135 | # parameterize here, but still list the modes in the big case below, |
74 | # to make depend.m4 easier to write. Note that we *cannot* use a case | 136 | # to make depend.m4 easier to write. Note that we *cannot* use a case |
@@ -80,26 +142,32 @@ if test "$depmode" = hp; then | |||
80 | fi | 142 | fi |
81 | 143 | ||
82 | if test "$depmode" = dashXmstdout; then | 144 | if test "$depmode" = dashXmstdout; then |
83 | # This is just like dashmstdout with a different argument. | 145 | # This is just like dashmstdout with a different argument. |
84 | dashmflag=-xM | 146 | dashmflag=-xM |
85 | depmode=dashmstdout | 147 | depmode=dashmstdout |
86 | fi | 148 | fi |
87 | 149 | ||
88 | cygpath_u="cygpath -u -f -" | 150 | cygpath_u="cygpath -u -f -" |
89 | if test "$depmode" = msvcmsys; then | 151 | if test "$depmode" = msvcmsys; then |
90 | # This is just like msvisualcpp but w/o cygpath translation. | 152 | # This is just like msvisualcpp but w/o cygpath translation. |
91 | # Just convert the backslash-escaped backslashes to single forward | 153 | # Just convert the backslash-escaped backslashes to single forward |
92 | # slashes to satisfy depend.m4 | 154 | # slashes to satisfy depend.m4 |
93 | cygpath_u='sed s,\\\\,/,g' | 155 | cygpath_u='sed s,\\\\,/,g' |
94 | depmode=msvisualcpp | 156 | depmode=msvisualcpp |
95 | fi | 157 | fi |
96 | 158 | ||
97 | if test "$depmode" = msvc7msys; then | 159 | if test "$depmode" = msvc7msys; then |
98 | # This is just like msvc7 but w/o cygpath translation. | 160 | # This is just like msvc7 but w/o cygpath translation. |
99 | # Just convert the backslash-escaped backslashes to single forward | 161 | # Just convert the backslash-escaped backslashes to single forward |
100 | # slashes to satisfy depend.m4 | 162 | # slashes to satisfy depend.m4 |
101 | cygpath_u='sed s,\\\\,/,g' | 163 | cygpath_u='sed s,\\\\,/,g' |
102 | depmode=msvc7 | 164 | depmode=msvc7 |
165 | fi | ||
166 | |||
167 | if test "$depmode" = xlc; then | ||
168 | # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. | ||
169 | gccflag=-qmakedep=gcc,-MF | ||
170 | depmode=gcc | ||
103 | fi | 171 | fi |
104 | 172 | ||
105 | case "$depmode" in | 173 | case "$depmode" in |
@@ -122,8 +190,7 @@ gcc3) | |||
122 | done | 190 | done |
123 | "$@" | 191 | "$@" |
124 | stat=$? | 192 | stat=$? |
125 | if test $stat -eq 0; then : | 193 | if test $stat -ne 0; then |
126 | else | ||
127 | rm -f "$tmpdepfile" | 194 | rm -f "$tmpdepfile" |
128 | exit $stat | 195 | exit $stat |
129 | fi | 196 | fi |
@@ -131,13 +198,17 @@ gcc3) | |||
131 | ;; | 198 | ;; |
132 | 199 | ||
133 | gcc) | 200 | gcc) |
201 | ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. | ||
202 | ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. | ||
203 | ## (see the conditional assignment to $gccflag above). | ||
134 | ## There are various ways to get dependency output from gcc. Here's | 204 | ## There are various ways to get dependency output from gcc. Here's |
135 | ## why we pick this rather obscure method: | 205 | ## why we pick this rather obscure method: |
136 | ## - Don't want to use -MD because we'd like the dependencies to end | 206 | ## - Don't want to use -MD because we'd like the dependencies to end |
137 | ## up in a subdir. Having to rename by hand is ugly. | 207 | ## up in a subdir. Having to rename by hand is ugly. |
138 | ## (We might end up doing this anyway to support other compilers.) | 208 | ## (We might end up doing this anyway to support other compilers.) |
139 | ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like | 209 | ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like |
140 | ## -MM, not -M (despite what the docs say). | 210 | ## -MM, not -M (despite what the docs say). Also, it might not be |
211 | ## supported by the other compilers which use the 'gcc' depmode. | ||
141 | ## - Using -M directly means running the compiler twice (even worse | 212 | ## - Using -M directly means running the compiler twice (even worse |
142 | ## than renaming). | 213 | ## than renaming). |
143 | if test -z "$gccflag"; then | 214 | if test -z "$gccflag"; then |
@@ -145,33 +216,31 @@ gcc) | |||
145 | fi | 216 | fi |
146 | "$@" -Wp,"$gccflag$tmpdepfile" | 217 | "$@" -Wp,"$gccflag$tmpdepfile" |
147 | stat=$? | 218 | stat=$? |
148 | if test $stat -eq 0; then : | 219 | if test $stat -ne 0; then |
149 | else | ||
150 | rm -f "$tmpdepfile" | 220 | rm -f "$tmpdepfile" |
151 | exit $stat | 221 | exit $stat |
152 | fi | 222 | fi |
153 | rm -f "$depfile" | 223 | rm -f "$depfile" |
154 | echo "$object : \\" > "$depfile" | 224 | echo "$object : \\" > "$depfile" |
155 | alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz | 225 | # The second -e expression handles DOS-style file names with drive |
156 | ## The second -e expression handles DOS-style file names with drive letters. | 226 | # letters. |
157 | sed -e 's/^[^:]*: / /' \ | 227 | sed -e 's/^[^:]*: / /' \ |
158 | -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" | 228 | -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" |
159 | ## This next piece of magic avoids the `deleted header file' problem. | 229 | ## This next piece of magic avoids the "deleted header file" problem. |
160 | ## The problem is that when a header file which appears in a .P file | 230 | ## The problem is that when a header file which appears in a .P file |
161 | ## is deleted, the dependency causes make to die (because there is | 231 | ## is deleted, the dependency causes make to die (because there is |
162 | ## typically no way to rebuild the header). We avoid this by adding | 232 | ## typically no way to rebuild the header). We avoid this by adding |
163 | ## dummy dependencies for each header file. Too bad gcc doesn't do | 233 | ## dummy dependencies for each header file. Too bad gcc doesn't do |
164 | ## this for us directly. | 234 | ## this for us directly. |
165 | tr ' ' ' | 235 | ## Some versions of gcc put a space before the ':'. On the theory |
166 | ' < "$tmpdepfile" | | ||
167 | ## Some versions of gcc put a space before the `:'. On the theory | ||
168 | ## that the space means something, we add a space to the output as | 236 | ## that the space means something, we add a space to the output as |
169 | ## well. hp depmode also adds that space, but also prefixes the VPATH | 237 | ## well. hp depmode also adds that space, but also prefixes the VPATH |
170 | ## to the object. Take care to not repeat it in the output. | 238 | ## to the object. Take care to not repeat it in the output. |
171 | ## Some versions of the HPUX 10.20 sed can't process this invocation | 239 | ## Some versions of the HPUX 10.20 sed can't process this invocation |
172 | ## correctly. Breaking it into two sed invocations is a workaround. | 240 | ## correctly. Breaking it into two sed invocations is a workaround. |
173 | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | 241 | tr ' ' "$nl" < "$tmpdepfile" \ |
174 | | sed -e 's/$/ :/' >> "$depfile" | 242 | | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ |
243 | | sed -e 's/$/ :/' >> "$depfile" | ||
175 | rm -f "$tmpdepfile" | 244 | rm -f "$tmpdepfile" |
176 | ;; | 245 | ;; |
177 | 246 | ||
@@ -189,8 +258,7 @@ sgi) | |||
189 | "$@" -MDupdate "$tmpdepfile" | 258 | "$@" -MDupdate "$tmpdepfile" |
190 | fi | 259 | fi |
191 | stat=$? | 260 | stat=$? |
192 | if test $stat -eq 0; then : | 261 | if test $stat -ne 0; then |
193 | else | ||
194 | rm -f "$tmpdepfile" | 262 | rm -f "$tmpdepfile" |
195 | exit $stat | 263 | exit $stat |
196 | fi | 264 | fi |
@@ -198,43 +266,41 @@ sgi) | |||
198 | 266 | ||
199 | if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files | 267 | if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files |
200 | echo "$object : \\" > "$depfile" | 268 | echo "$object : \\" > "$depfile" |
201 | |||
202 | # Clip off the initial element (the dependent). Don't try to be | 269 | # Clip off the initial element (the dependent). Don't try to be |
203 | # clever and replace this with sed code, as IRIX sed won't handle | 270 | # clever and replace this with sed code, as IRIX sed won't handle |
204 | # lines with more than a fixed number of characters (4096 in | 271 | # lines with more than a fixed number of characters (4096 in |
205 | # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; | 272 | # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; |
206 | # the IRIX cc adds comments like `#:fec' to the end of the | 273 | # the IRIX cc adds comments like '#:fec' to the end of the |
207 | # dependency line. | 274 | # dependency line. |
208 | tr ' ' ' | 275 | tr ' ' "$nl" < "$tmpdepfile" \ |
209 | ' < "$tmpdepfile" \ | 276 | | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ |
210 | | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ | 277 | | tr "$nl" ' ' >> "$depfile" |
211 | tr ' | ||
212 | ' ' ' >> "$depfile" | ||
213 | echo >> "$depfile" | 278 | echo >> "$depfile" |
214 | |||
215 | # The second pass generates a dummy entry for each header file. | 279 | # The second pass generates a dummy entry for each header file. |
216 | tr ' ' ' | 280 | tr ' ' "$nl" < "$tmpdepfile" \ |
217 | ' < "$tmpdepfile" \ | 281 | | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ |
218 | | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ | 282 | >> "$depfile" |
219 | >> "$depfile" | ||
220 | else | 283 | else |
221 | # The sourcefile does not contain any dependencies, so just | 284 | make_dummy_depfile |
222 | # store a dummy comment line, to avoid errors with the Makefile | ||
223 | # "include basename.Plo" scheme. | ||
224 | echo "#dummy" > "$depfile" | ||
225 | fi | 285 | fi |
226 | rm -f "$tmpdepfile" | 286 | rm -f "$tmpdepfile" |
227 | ;; | 287 | ;; |
228 | 288 | ||
289 | xlc) | ||
290 | # This case exists only to let depend.m4 do its work. It works by | ||
291 | # looking at the text of this script. This case will never be run, | ||
292 | # since it is checked for above. | ||
293 | exit 1 | ||
294 | ;; | ||
295 | |||
229 | aix) | 296 | aix) |
230 | # The C for AIX Compiler uses -M and outputs the dependencies | 297 | # The C for AIX Compiler uses -M and outputs the dependencies |
231 | # in a .u file. In older versions, this file always lives in the | 298 | # in a .u file. In older versions, this file always lives in the |
232 | # current directory. Also, the AIX compiler puts `$object:' at the | 299 | # current directory. Also, the AIX compiler puts '$object:' at the |
233 | # start of each line; $object doesn't have directory information. | 300 | # start of each line; $object doesn't have directory information. |
234 | # Version 6 uses the directory in both cases. | 301 | # Version 6 uses the directory in both cases. |
235 | dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | 302 | set_dir_from "$object" |
236 | test "x$dir" = "x$object" && dir= | 303 | set_base_from "$object" |
237 | base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | ||
238 | if test "$libtool" = yes; then | 304 | if test "$libtool" = yes; then |
239 | tmpdepfile1=$dir$base.u | 305 | tmpdepfile1=$dir$base.u |
240 | tmpdepfile2=$base.u | 306 | tmpdepfile2=$base.u |
@@ -247,9 +313,7 @@ aix) | |||
247 | "$@" -M | 313 | "$@" -M |
248 | fi | 314 | fi |
249 | stat=$? | 315 | stat=$? |
250 | 316 | if test $stat -ne 0; then | |
251 | if test $stat -eq 0; then : | ||
252 | else | ||
253 | rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" | 317 | rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" |
254 | exit $stat | 318 | exit $stat |
255 | fi | 319 | fi |
@@ -258,44 +322,100 @@ aix) | |||
258 | do | 322 | do |
259 | test -f "$tmpdepfile" && break | 323 | test -f "$tmpdepfile" && break |
260 | done | 324 | done |
261 | if test -f "$tmpdepfile"; then | 325 | aix_post_process_depfile |
262 | # Each line is of the form `foo.o: dependent.h'. | 326 | ;; |
263 | # Do two passes, one to just change these to | 327 | |
264 | # `$object: dependent.h' and one to simply `dependent.h:'. | 328 | tcc) |
265 | sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" | 329 | # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 |
266 | # That's a tab and a space in the []. | 330 | # FIXME: That version still under development at the moment of writing. |
267 | sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" | 331 | # Make that this statement remains true also for stable, released |
268 | else | 332 | # versions. |
269 | # The sourcefile does not contain any dependencies, so just | 333 | # It will wrap lines (doesn't matter whether long or short) with a |
270 | # store a dummy comment line, to avoid errors with the Makefile | 334 | # trailing '\', as in: |
271 | # "include basename.Plo" scheme. | 335 | # |
272 | echo "#dummy" > "$depfile" | 336 | # foo.o : \ |
337 | # foo.c \ | ||
338 | # foo.h \ | ||
339 | # | ||
340 | # It will put a trailing '\' even on the last line, and will use leading | ||
341 | # spaces rather than leading tabs (at least since its commit 0394caf7 | ||
342 | # "Emit spaces for -MD"). | ||
343 | "$@" -MD -MF "$tmpdepfile" | ||
344 | stat=$? | ||
345 | if test $stat -ne 0; then | ||
346 | rm -f "$tmpdepfile" | ||
347 | exit $stat | ||
273 | fi | 348 | fi |
349 | rm -f "$depfile" | ||
350 | # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. | ||
351 | # We have to change lines of the first kind to '$object: \'. | ||
352 | sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" | ||
353 | # And for each line of the second kind, we have to emit a 'dep.h:' | ||
354 | # dummy dependency, to avoid the deleted-header problem. | ||
355 | sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" | ||
274 | rm -f "$tmpdepfile" | 356 | rm -f "$tmpdepfile" |
275 | ;; | 357 | ;; |
276 | 358 | ||
277 | icc) | 359 | ## The order of this option in the case statement is important, since the |
278 | # Intel's C compiler understands `-MD -MF file'. However on | 360 | ## shell code in configure will try each of these formats in the order |
279 | # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c | 361 | ## listed in this file. A plain '-MD' option would be understood by many |
280 | # ICC 7.0 will fill foo.d with something like | 362 | ## compilers, so we must ensure this comes after the gcc and icc options. |
281 | # foo.o: sub/foo.c | 363 | pgcc) |
282 | # foo.o: sub/foo.h | 364 | # Portland's C compiler understands '-MD'. |
283 | # which is wrong. We want: | 365 | # Will always output deps to 'file.d' where file is the root name of the |
284 | # sub/foo.o: sub/foo.c | 366 | # source file under compilation, even if file resides in a subdirectory. |
285 | # sub/foo.o: sub/foo.h | 367 | # The object file name does not affect the name of the '.d' file. |
286 | # sub/foo.c: | 368 | # pgcc 10.2 will output |
287 | # sub/foo.h: | ||
288 | # ICC 7.1 will output | ||
289 | # foo.o: sub/foo.c sub/foo.h | 369 | # foo.o: sub/foo.c sub/foo.h |
290 | # and will wrap long lines using \ : | 370 | # and will wrap long lines using '\' : |
291 | # foo.o: sub/foo.c ... \ | 371 | # foo.o: sub/foo.c ... \ |
292 | # sub/foo.h ... \ | 372 | # sub/foo.h ... \ |
293 | # ... | 373 | # ... |
374 | set_dir_from "$object" | ||
375 | # Use the source, not the object, to determine the base name, since | ||
376 | # that's sadly what pgcc will do too. | ||
377 | set_base_from "$source" | ||
378 | tmpdepfile=$base.d | ||
379 | |||
380 | # For projects that build the same source file twice into different object | ||
381 | # files, the pgcc approach of using the *source* file root name can cause | ||
382 | # problems in parallel builds. Use a locking strategy to avoid stomping on | ||
383 | # the same $tmpdepfile. | ||
384 | lockdir=$base.d-lock | ||
385 | trap " | ||
386 | echo '$0: caught signal, cleaning up...' >&2 | ||
387 | rmdir '$lockdir' | ||
388 | exit 1 | ||
389 | " 1 2 13 15 | ||
390 | numtries=100 | ||
391 | i=$numtries | ||
392 | while test $i -gt 0; do | ||
393 | # mkdir is a portable test-and-set. | ||
394 | if mkdir "$lockdir" 2>/dev/null; then | ||
395 | # This process acquired the lock. | ||
396 | "$@" -MD | ||
397 | stat=$? | ||
398 | # Release the lock. | ||
399 | rmdir "$lockdir" | ||
400 | break | ||
401 | else | ||
402 | # If the lock is being held by a different process, wait | ||
403 | # until the winning process is done or we timeout. | ||
404 | while test -d "$lockdir" && test $i -gt 0; do | ||
405 | sleep 1 | ||
406 | i=`expr $i - 1` | ||
407 | done | ||
408 | fi | ||
409 | i=`expr $i - 1` | ||
410 | done | ||
411 | trap - 1 2 13 15 | ||
412 | if test $i -le 0; then | ||
413 | echo "$0: failed to acquire lock after $numtries attempts" >&2 | ||
414 | echo "$0: check lockdir '$lockdir'" >&2 | ||
415 | exit 1 | ||
416 | fi | ||
294 | 417 | ||
295 | "$@" -MD -MF "$tmpdepfile" | 418 | if test $stat -ne 0; then |
296 | stat=$? | ||
297 | if test $stat -eq 0; then : | ||
298 | else | ||
299 | rm -f "$tmpdepfile" | 419 | rm -f "$tmpdepfile" |
300 | exit $stat | 420 | exit $stat |
301 | fi | 421 | fi |
@@ -307,8 +427,8 @@ icc) | |||
307 | sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" | 427 | sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" |
308 | # Some versions of the HPUX 10.20 sed can't process this invocation | 428 | # Some versions of the HPUX 10.20 sed can't process this invocation |
309 | # correctly. Breaking it into two sed invocations is a workaround. | 429 | # correctly. Breaking it into two sed invocations is a workaround. |
310 | sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | | 430 | sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ |
311 | sed -e 's/$/ :/' >> "$depfile" | 431 | | sed -e 's/$/ :/' >> "$depfile" |
312 | rm -f "$tmpdepfile" | 432 | rm -f "$tmpdepfile" |
313 | ;; | 433 | ;; |
314 | 434 | ||
@@ -319,9 +439,8 @@ hp2) | |||
319 | # 'foo.d', which lands next to the object file, wherever that | 439 | # 'foo.d', which lands next to the object file, wherever that |
320 | # happens to be. | 440 | # happens to be. |
321 | # Much of this is similar to the tru64 case; see comments there. | 441 | # Much of this is similar to the tru64 case; see comments there. |
322 | dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | 442 | set_dir_from "$object" |
323 | test "x$dir" = "x$object" && dir= | 443 | set_base_from "$object" |
324 | base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | ||
325 | if test "$libtool" = yes; then | 444 | if test "$libtool" = yes; then |
326 | tmpdepfile1=$dir$base.d | 445 | tmpdepfile1=$dir$base.d |
327 | tmpdepfile2=$dir.libs/$base.d | 446 | tmpdepfile2=$dir.libs/$base.d |
@@ -332,8 +451,7 @@ hp2) | |||
332 | "$@" +Maked | 451 | "$@" +Maked |
333 | fi | 452 | fi |
334 | stat=$? | 453 | stat=$? |
335 | if test $stat -eq 0; then : | 454 | if test $stat -ne 0; then |
336 | else | ||
337 | rm -f "$tmpdepfile1" "$tmpdepfile2" | 455 | rm -f "$tmpdepfile1" "$tmpdepfile2" |
338 | exit $stat | 456 | exit $stat |
339 | fi | 457 | fi |
@@ -343,77 +461,61 @@ hp2) | |||
343 | test -f "$tmpdepfile" && break | 461 | test -f "$tmpdepfile" && break |
344 | done | 462 | done |
345 | if test -f "$tmpdepfile"; then | 463 | if test -f "$tmpdepfile"; then |
346 | sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" | 464 | sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" |
347 | # Add `dependent.h:' lines. | 465 | # Add 'dependent.h:' lines. |
348 | sed -ne '2,${ | 466 | sed -ne '2,${ |
349 | s/^ *// | 467 | s/^ *// |
350 | s/ \\*$// | 468 | s/ \\*$// |
351 | s/$/:/ | 469 | s/$/:/ |
352 | p | 470 | p |
353 | }' "$tmpdepfile" >> "$depfile" | 471 | }' "$tmpdepfile" >> "$depfile" |
354 | else | 472 | else |
355 | echo "#dummy" > "$depfile" | 473 | make_dummy_depfile |
356 | fi | 474 | fi |
357 | rm -f "$tmpdepfile" "$tmpdepfile2" | 475 | rm -f "$tmpdepfile" "$tmpdepfile2" |
358 | ;; | 476 | ;; |
359 | 477 | ||
360 | tru64) | 478 | tru64) |
361 | # The Tru64 compiler uses -MD to generate dependencies as a side | 479 | # The Tru64 compiler uses -MD to generate dependencies as a side |
362 | # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. | 480 | # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. |
363 | # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put | 481 | # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put |
364 | # dependencies in `foo.d' instead, so we check for that too. | 482 | # dependencies in 'foo.d' instead, so we check for that too. |
365 | # Subdirectories are respected. | 483 | # Subdirectories are respected. |
366 | dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | 484 | set_dir_from "$object" |
367 | test "x$dir" = "x$object" && dir= | 485 | set_base_from "$object" |
368 | base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | 486 | |
369 | 487 | if test "$libtool" = yes; then | |
370 | if test "$libtool" = yes; then | 488 | # Libtool generates 2 separate objects for the 2 libraries. These |
371 | # With Tru64 cc, shared objects can also be used to make a | 489 | # two compilations output dependencies in $dir.libs/$base.o.d and |
372 | # static library. This mechanism is used in libtool 1.4 series to | 490 | # in $dir$base.o.d. We have to check for both files, because |
373 | # handle both shared and static libraries in a single compilation. | 491 | # one of the two compilations can be disabled. We should prefer |
374 | # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. | 492 | # $dir$base.o.d over $dir.libs/$base.o.d because the latter is |
375 | # | 493 | # automatically cleaned when .libs/ is deleted, while ignoring |
376 | # With libtool 1.5 this exception was removed, and libtool now | 494 | # the former would cause a distcleancheck panic. |
377 | # generates 2 separate objects for the 2 libraries. These two | 495 | tmpdepfile1=$dir$base.o.d # libtool 1.5 |
378 | # compilations output dependencies in $dir.libs/$base.o.d and | 496 | tmpdepfile2=$dir.libs/$base.o.d # Likewise. |
379 | # in $dir$base.o.d. We have to check for both files, because | 497 | tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 |
380 | # one of the two compilations can be disabled. We should prefer | 498 | "$@" -Wc,-MD |
381 | # $dir$base.o.d over $dir.libs/$base.o.d because the latter is | 499 | else |
382 | # automatically cleaned when .libs/ is deleted, while ignoring | 500 | tmpdepfile1=$dir$base.d |
383 | # the former would cause a distcleancheck panic. | 501 | tmpdepfile2=$dir$base.d |
384 | tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 | 502 | tmpdepfile3=$dir$base.d |
385 | tmpdepfile2=$dir$base.o.d # libtool 1.5 | 503 | "$@" -MD |
386 | tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 | 504 | fi |
387 | tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 | 505 | |
388 | "$@" -Wc,-MD | 506 | stat=$? |
389 | else | 507 | if test $stat -ne 0; then |
390 | tmpdepfile1=$dir$base.o.d | 508 | rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" |
391 | tmpdepfile2=$dir$base.d | 509 | exit $stat |
392 | tmpdepfile3=$dir$base.d | 510 | fi |
393 | tmpdepfile4=$dir$base.d | 511 | |
394 | "$@" -MD | 512 | for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" |
395 | fi | 513 | do |
396 | 514 | test -f "$tmpdepfile" && break | |
397 | stat=$? | 515 | done |
398 | if test $stat -eq 0; then : | 516 | # Same post-processing that is required for AIX mode. |
399 | else | 517 | aix_post_process_depfile |
400 | rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" | 518 | ;; |
401 | exit $stat | ||
402 | fi | ||
403 | |||
404 | for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" | ||
405 | do | ||
406 | test -f "$tmpdepfile" && break | ||
407 | done | ||
408 | if test -f "$tmpdepfile"; then | ||
409 | sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" | ||
410 | # That's a tab and a space in the []. | ||
411 | sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" | ||
412 | else | ||
413 | echo "#dummy" > "$depfile" | ||
414 | fi | ||
415 | rm -f "$tmpdepfile" | ||
416 | ;; | ||
417 | 519 | ||
418 | msvc7) | 520 | msvc7) |
419 | if test "$libtool" = yes; then | 521 | if test "$libtool" = yes; then |
@@ -424,8 +526,7 @@ msvc7) | |||
424 | "$@" $showIncludes > "$tmpdepfile" | 526 | "$@" $showIncludes > "$tmpdepfile" |
425 | stat=$? | 527 | stat=$? |
426 | grep -v '^Note: including file: ' "$tmpdepfile" | 528 | grep -v '^Note: including file: ' "$tmpdepfile" |
427 | if test "$stat" = 0; then : | 529 | if test $stat -ne 0; then |
428 | else | ||
429 | rm -f "$tmpdepfile" | 530 | rm -f "$tmpdepfile" |
430 | exit $stat | 531 | exit $stat |
431 | fi | 532 | fi |
@@ -443,14 +544,15 @@ msvc7) | |||
443 | p | 544 | p |
444 | }' | $cygpath_u | sort -u | sed -n ' | 545 | }' | $cygpath_u | sort -u | sed -n ' |
445 | s/ /\\ /g | 546 | s/ /\\ /g |
446 | s/\(.*\)/ \1 \\/p | 547 | s/\(.*\)/'"$tab"'\1 \\/p |
447 | s/.\(.*\) \\/\1:/ | 548 | s/.\(.*\) \\/\1:/ |
448 | H | 549 | H |
449 | $ { | 550 | $ { |
450 | s/.*/ / | 551 | s/.*/'"$tab"'/ |
451 | G | 552 | G |
452 | p | 553 | p |
453 | }' >> "$depfile" | 554 | }' >> "$depfile" |
555 | echo >> "$depfile" # make sure the fragment doesn't end with a backslash | ||
454 | rm -f "$tmpdepfile" | 556 | rm -f "$tmpdepfile" |
455 | ;; | 557 | ;; |
456 | 558 | ||
@@ -478,7 +580,7 @@ dashmstdout) | |||
478 | shift | 580 | shift |
479 | fi | 581 | fi |
480 | 582 | ||
481 | # Remove `-o $object'. | 583 | # Remove '-o $object'. |
482 | IFS=" " | 584 | IFS=" " |
483 | for arg | 585 | for arg |
484 | do | 586 | do |
@@ -498,18 +600,18 @@ dashmstdout) | |||
498 | done | 600 | done |
499 | 601 | ||
500 | test -z "$dashmflag" && dashmflag=-M | 602 | test -z "$dashmflag" && dashmflag=-M |
501 | # Require at least two characters before searching for `:' | 603 | # Require at least two characters before searching for ':' |
502 | # in the target name. This is to cope with DOS-style filenames: | 604 | # in the target name. This is to cope with DOS-style filenames: |
503 | # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. | 605 | # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. |
504 | "$@" $dashmflag | | 606 | "$@" $dashmflag | |
505 | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" | 607 | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" |
506 | rm -f "$depfile" | 608 | rm -f "$depfile" |
507 | cat < "$tmpdepfile" > "$depfile" | 609 | cat < "$tmpdepfile" > "$depfile" |
508 | tr ' ' ' | 610 | # Some versions of the HPUX 10.20 sed can't process this sed invocation |
509 | ' < "$tmpdepfile" | \ | 611 | # correctly. Breaking it into two sed invocations is a workaround. |
510 | ## Some versions of the HPUX 10.20 sed can't process this invocation | 612 | tr ' ' "$nl" < "$tmpdepfile" \ |
511 | ## correctly. Breaking it into two sed invocations is a workaround. | 613 | | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ |
512 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | 614 | | sed -e 's/$/ :/' >> "$depfile" |
513 | rm -f "$tmpdepfile" | 615 | rm -f "$tmpdepfile" |
514 | ;; | 616 | ;; |
515 | 617 | ||
@@ -562,11 +664,12 @@ makedepend) | |||
562 | # makedepend may prepend the VPATH from the source file name to the object. | 664 | # makedepend may prepend the VPATH from the source file name to the object. |
563 | # No need to regex-escape $object, excess matching of '.' is harmless. | 665 | # No need to regex-escape $object, excess matching of '.' is harmless. |
564 | sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" | 666 | sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" |
565 | sed '1,2d' "$tmpdepfile" | tr ' ' ' | 667 | # Some versions of the HPUX 10.20 sed can't process the last invocation |
566 | ' | \ | 668 | # correctly. Breaking it into two sed invocations is a workaround. |
567 | ## Some versions of the HPUX 10.20 sed can't process this invocation | 669 | sed '1,2d' "$tmpdepfile" \ |
568 | ## correctly. Breaking it into two sed invocations is a workaround. | 670 | | tr ' ' "$nl" \ |
569 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | 671 | | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ |
672 | | sed -e 's/$/ :/' >> "$depfile" | ||
570 | rm -f "$tmpdepfile" "$tmpdepfile".bak | 673 | rm -f "$tmpdepfile" "$tmpdepfile".bak |
571 | ;; | 674 | ;; |
572 | 675 | ||
@@ -583,7 +686,7 @@ cpp) | |||
583 | shift | 686 | shift |
584 | fi | 687 | fi |
585 | 688 | ||
586 | # Remove `-o $object'. | 689 | # Remove '-o $object'. |
587 | IFS=" " | 690 | IFS=" " |
588 | for arg | 691 | for arg |
589 | do | 692 | do |
@@ -602,10 +705,10 @@ cpp) | |||
602 | esac | 705 | esac |
603 | done | 706 | done |
604 | 707 | ||
605 | "$@" -E | | 708 | "$@" -E \ |
606 | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | 709 | | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ |
607 | -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | | 710 | -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ |
608 | sed '$ s: \\$::' > "$tmpdepfile" | 711 | | sed '$ s: \\$::' > "$tmpdepfile" |
609 | rm -f "$depfile" | 712 | rm -f "$depfile" |
610 | echo "$object : \\" > "$depfile" | 713 | echo "$object : \\" > "$depfile" |
611 | cat < "$tmpdepfile" >> "$depfile" | 714 | cat < "$tmpdepfile" >> "$depfile" |
@@ -637,23 +740,23 @@ msvisualcpp) | |||
637 | shift | 740 | shift |
638 | ;; | 741 | ;; |
639 | "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") | 742 | "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") |
640 | set fnord "$@" | 743 | set fnord "$@" |
641 | shift | 744 | shift |
642 | shift | 745 | shift |
643 | ;; | 746 | ;; |
644 | *) | 747 | *) |
645 | set fnord "$@" "$arg" | 748 | set fnord "$@" "$arg" |
646 | shift | 749 | shift |
647 | shift | 750 | shift |
648 | ;; | 751 | ;; |
649 | esac | 752 | esac |
650 | done | 753 | done |
651 | "$@" -E 2>/dev/null | | 754 | "$@" -E 2>/dev/null | |
652 | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" | 755 | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" |
653 | rm -f "$depfile" | 756 | rm -f "$depfile" |
654 | echo "$object : \\" > "$depfile" | 757 | echo "$object : \\" > "$depfile" |
655 | sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" | 758 | sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" |
656 | echo " " >> "$depfile" | 759 | echo "$tab" >> "$depfile" |
657 | sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" | 760 | sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" |
658 | rm -f "$tmpdepfile" | 761 | rm -f "$tmpdepfile" |
659 | ;; | 762 | ;; |
diff --git a/gs/jpeg/djpeg.1 b/gs/jpeg/djpeg.1 index f3722d150..67ee5cba7 100644 --- a/gs/jpeg/djpeg.1 +++ b/gs/jpeg/djpeg.1 | |||
@@ -1,4 +1,4 @@ | |||
1 | .TH DJPEG 1 "3 October 2009" | 1 | .TH DJPEG 1 "23 November 2013" |
2 | .SH NAME | 2 | .SH NAME |
3 | djpeg \- decompress a JPEG file to an image file | 3 | djpeg \- decompress a JPEG file to an image file |
4 | .SH SYNOPSIS | 4 | .SH SYNOPSIS |
@@ -246,7 +246,7 @@ Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. | |||
246 | .SH AUTHOR | 246 | .SH AUTHOR |
247 | Independent JPEG Group | 247 | Independent JPEG Group |
248 | .SH BUGS | 248 | .SH BUGS |
249 | To avoid the Unisys LZW patent, | 249 | To avoid the Unisys LZW patent (now expired), |
250 | .B djpeg | 250 | .B djpeg |
251 | produces uncompressed GIF files. These are larger than they should be, but | 251 | produces uncompressed GIF files. These are larger than they should be, but |
252 | are readable by standard GIF decoders. | 252 | are readable by standard GIF decoders. |
diff --git a/gs/jpeg/djpeg.c b/gs/jpeg/djpeg.c index bc544dc10..be7f2690e 100644 --- a/gs/jpeg/djpeg.c +++ b/gs/jpeg/djpeg.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * djpeg.c | 2 | * djpeg.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 2009 by Guido Vollbeding. | 5 | * Modified 2009-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -298,7 +298,7 @@ parse_switches (j_decompress_ptr cinfo, int argc, char **argv, | |||
298 | cinfo->mem->max_memory_to_use = lval * 1000L; | 298 | cinfo->mem->max_memory_to_use = lval * 1000L; |
299 | 299 | ||
300 | } else if (keymatch(arg, "nosmooth", 3)) { | 300 | } else if (keymatch(arg, "nosmooth", 3)) { |
301 | /* Suppress fancy upsampling */ | 301 | /* Suppress fancy upsampling. */ |
302 | cinfo->do_fancy_upsampling = FALSE; | 302 | cinfo->do_fancy_upsampling = FALSE; |
303 | 303 | ||
304 | } else if (keymatch(arg, "onepass", 3)) { | 304 | } else if (keymatch(arg, "onepass", 3)) { |
@@ -327,7 +327,7 @@ parse_switches (j_decompress_ptr cinfo, int argc, char **argv, | |||
327 | /* Scale the output image by a fraction M/N. */ | 327 | /* Scale the output image by a fraction M/N. */ |
328 | if (++argn >= argc) /* advance to next argument */ | 328 | if (++argn >= argc) /* advance to next argument */ |
329 | usage(); | 329 | usage(); |
330 | if (sscanf(argv[argn], "%d/%d", | 330 | if (sscanf(argv[argn], "%u/%u", |
331 | &cinfo->scale_num, &cinfo->scale_denom) < 1) | 331 | &cinfo->scale_num, &cinfo->scale_denom) < 1) |
332 | usage(); | 332 | usage(); |
333 | 333 | ||
diff --git a/gs/jpeg/filelist.txt b/gs/jpeg/filelist.txt index 7e053869a..adfd14f35 100644 --- a/gs/jpeg/filelist.txt +++ b/gs/jpeg/filelist.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | IJG JPEG LIBRARY: FILE LIST | 1 | IJG JPEG LIBRARY: FILE LIST |
2 | 2 | ||
3 | Copyright (C) 1994-2009, Thomas G. Lane, Guido Vollbeding. | 3 | Copyright (C) 1994-2013, Thomas G. Lane, Guido Vollbeding. |
4 | This file is part of the Independent JPEG Group's software. | 4 | This file is part of the Independent JPEG Group's software. |
5 | For conditions of distribution and use, see the accompanying README file. | 5 | For conditions of distribution and use, see the accompanying README file. |
6 | 6 | ||
@@ -197,6 +197,8 @@ config.guess | |||
197 | config.sub | 197 | config.sub |
198 | depcomp | 198 | depcomp |
199 | missing | 199 | missing |
200 | ar-lib | ||
201 | compile | ||
200 | install-sh Install shell script for those Unix systems lacking one. | 202 | install-sh Install shell script for those Unix systems lacking one. |
201 | Makefile.in Makefile input for configure. | 203 | Makefile.in Makefile input for configure. |
202 | Makefile.am Source file for use with Automake to generate Makefile.in. | 204 | Makefile.am Source file for use with Automake to generate Makefile.in. |
@@ -206,8 +208,6 @@ mak*.* Sample makefiles for particular systems. | |||
206 | jconfig.* Sample jconfig.h for particular systems. | 208 | jconfig.* Sample jconfig.h for particular systems. |
207 | libjpeg.map Script to generate shared library with versioned symbols. | 209 | libjpeg.map Script to generate shared library with versioned symbols. |
208 | aclocal.m4 M4 macro definitions for use with Autoconf. | 210 | aclocal.m4 M4 macro definitions for use with Autoconf. |
209 | ansi2knr.c De-ANSIfier for pre-ANSI C compilers (courtesy of | ||
210 | L. Peter Deutsch and Aladdin Enterprises). | ||
211 | 211 | ||
212 | Test files (see install.txt for test procedure): | 212 | Test files (see install.txt for test procedure): |
213 | 213 | ||
diff --git a/gs/jpeg/install-sh b/gs/jpeg/install-sh index a9244eb07..377bb8687 100755 --- a/gs/jpeg/install-sh +++ b/gs/jpeg/install-sh | |||
@@ -1,7 +1,7 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | # install - install a program, script, or datafile | 2 | # install - install a program, script, or datafile |
3 | 3 | ||
4 | scriptversion=2011-01-19.21; # UTC | 4 | scriptversion=2011-11-20.07; # UTC |
5 | 5 | ||
6 | # This originates from X11R5 (mit/util/scripts/install.sh), which was | 6 | # This originates from X11R5 (mit/util/scripts/install.sh), which was |
7 | # later released in X11R6 (xc/config/util/install.sh) with the | 7 | # later released in X11R6 (xc/config/util/install.sh) with the |
@@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC | |||
35 | # FSF changes to this file are in the public domain. | 35 | # FSF changes to this file are in the public domain. |
36 | # | 36 | # |
37 | # Calling this script install-sh is preferred over install.sh, to prevent | 37 | # Calling this script install-sh is preferred over install.sh, to prevent |
38 | # `make' implicit rules from creating a file called install from it | 38 | # 'make' implicit rules from creating a file called install from it |
39 | # when there is no Makefile. | 39 | # when there is no Makefile. |
40 | # | 40 | # |
41 | # This script is compatible with the BSD install script, but was written | 41 | # This script is compatible with the BSD install script, but was written |
@@ -156,7 +156,7 @@ while test $# -ne 0; do | |||
156 | -s) stripcmd=$stripprog;; | 156 | -s) stripcmd=$stripprog;; |
157 | 157 | ||
158 | -t) dst_arg=$2 | 158 | -t) dst_arg=$2 |
159 | # Protect names problematic for `test' and other utilities. | 159 | # Protect names problematic for 'test' and other utilities. |
160 | case $dst_arg in | 160 | case $dst_arg in |
161 | -* | [=\(\)!]) dst_arg=./$dst_arg;; | 161 | -* | [=\(\)!]) dst_arg=./$dst_arg;; |
162 | esac | 162 | esac |
@@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then | |||
190 | fi | 190 | fi |
191 | shift # arg | 191 | shift # arg |
192 | dst_arg=$arg | 192 | dst_arg=$arg |
193 | # Protect names problematic for `test' and other utilities. | 193 | # Protect names problematic for 'test' and other utilities. |
194 | case $dst_arg in | 194 | case $dst_arg in |
195 | -* | [=\(\)!]) dst_arg=./$dst_arg;; | 195 | -* | [=\(\)!]) dst_arg=./$dst_arg;; |
196 | esac | 196 | esac |
@@ -202,7 +202,7 @@ if test $# -eq 0; then | |||
202 | echo "$0: no input file specified." >&2 | 202 | echo "$0: no input file specified." >&2 |
203 | exit 1 | 203 | exit 1 |
204 | fi | 204 | fi |
205 | # It's OK to call `install-sh -d' without argument. | 205 | # It's OK to call 'install-sh -d' without argument. |
206 | # This can happen when creating conditional directories. | 206 | # This can happen when creating conditional directories. |
207 | exit 0 | 207 | exit 0 |
208 | fi | 208 | fi |
@@ -240,7 +240,7 @@ fi | |||
240 | 240 | ||
241 | for src | 241 | for src |
242 | do | 242 | do |
243 | # Protect names problematic for `test' and other utilities. | 243 | # Protect names problematic for 'test' and other utilities. |
244 | case $src in | 244 | case $src in |
245 | -* | [=\(\)!]) src=./$src;; | 245 | -* | [=\(\)!]) src=./$src;; |
246 | esac | 246 | esac |
@@ -354,7 +354,7 @@ do | |||
354 | if test -z "$dir_arg" || { | 354 | if test -z "$dir_arg" || { |
355 | # Check for POSIX incompatibilities with -m. | 355 | # Check for POSIX incompatibilities with -m. |
356 | # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or | 356 | # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or |
357 | # other-writeable bit of parent directory when it shouldn't. | 357 | # other-writable bit of parent directory when it shouldn't. |
358 | # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. | 358 | # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. |
359 | ls_ld_tmpdir=`ls -ld "$tmpdir"` | 359 | ls_ld_tmpdir=`ls -ld "$tmpdir"` |
360 | case $ls_ld_tmpdir in | 360 | case $ls_ld_tmpdir in |
diff --git a/gs/jpeg/install.txt b/gs/jpeg/install.txt index 04bed914e..04053068f 100644 --- a/gs/jpeg/install.txt +++ b/gs/jpeg/install.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | INSTALLATION INSTRUCTIONS for the Independent JPEG Group's JPEG software | 1 | INSTALLATION INSTRUCTIONS for the Independent JPEG Group's JPEG software |
2 | 2 | ||
3 | Copyright (C) 1991-2011, Thomas G. Lane, Guido Vollbeding. | 3 | Copyright (C) 1991-2013, Thomas G. Lane, Guido Vollbeding. |
4 | This file is part of the Independent JPEG Group's software. | 4 | This file is part of the Independent JPEG Group's software. |
5 | For conditions of distribution and use, see the accompanying README file. | 5 | For conditions of distribution and use, see the accompanying README file. |
6 | 6 | ||
@@ -418,54 +418,58 @@ support as follows: | |||
418 | the directory containing the URT "librle.a" file (typically the | 418 | the directory containing the URT "librle.a" file (typically the |
419 | "lib" subdirectory of the URT distribution). | 419 | "lib" subdirectory of the URT distribution). |
420 | 420 | ||
421 | Support for 12-bit-deep pixel data: | 421 | Support for 9-bit to 12-bit deep pixel data: |
422 | 422 | ||
423 | The JPEG standard allows either 8-bit or 12-bit data precision. (For color, | 423 | The IJG code currently allows 8, 9, 10, 11, or 12 bits sample data precision. |
424 | this means 8 or 12 bits per channel, of course.) If you need to work with | 424 | (For color, this means 8 to 12 bits per channel, of course.) If you need to |
425 | deeper than 8-bit data, you can compile the IJG code for 12-bit operation. | 425 | work with deeper than 8-bit data, you can compile the IJG code for 9-bit to |
426 | 12-bit operation. | ||
426 | To do so: | 427 | To do so: |
427 | 1. In jmorecfg.h, define BITS_IN_JSAMPLE as 12 rather than 8. | 428 | 1. In jmorecfg.h, define BITS_IN_JSAMPLE as 9, 10, 11, or 12 rather than 8. |
428 | 2. In jconfig.h, undefine BMP_SUPPORTED, RLE_SUPPORTED, and TARGA_SUPPORTED, | 429 | 2. In jconfig.h, undefine BMP_SUPPORTED, RLE_SUPPORTED, and TARGA_SUPPORTED, |
429 | because the code for those formats doesn't handle 12-bit data and won't | 430 | because the code for those formats doesn't handle deeper than 8-bit data |
430 | even compile. (The PPM code does work, as explained below. The GIF | 431 | and won't even compile. (The PPM code does work, as explained below. |
431 | code works too; it scales 8-bit GIF data to and from 12-bit depth | 432 | The GIF code works too; it scales 8-bit GIF data to and from 12-bit |
432 | automatically.) | 433 | depth automatically.) |
433 | 3. Compile. Don't expect "make test" to pass, since the supplied test | 434 | 3. Compile. Don't expect "make test" to pass, since the supplied test |
434 | files are for 8-bit data. | 435 | files are for 8-bit data. |
435 | 436 | ||
436 | Currently, 12-bit support does not work on 16-bit-int machines. | 437 | Currently, 9-bit to 12-bit support does not work on 16-bit-int machines. |
437 | 438 | ||
438 | Note that a 12-bit version will not read 8-bit JPEG files, nor vice versa; | 439 | Run-time selection and conversion of data precision are currently not |
439 | so you'll want to keep around a regular 8-bit compilation as well. | 440 | supported and may be added later. |
440 | (Run-time selection of data depth, to allow a single copy that does both, | 441 | Exception: The transcoding part (jpegtran) supports all settings in a |
441 | is possible but would probably slow things down considerably; it's very low | 442 | single instance, since it operates on the level of DCT coefficients and |
442 | on our to-do list.) | 443 | not sample values. |
443 | 444 | ||
444 | The PPM reader (rdppm.c) can read 12-bit data from either text-format or | 445 | The PPM reader (rdppm.c) can read deeper than 8-bit data from either |
445 | binary-format PPM and PGM files. Binary-format PPM/PGM files which have a | 446 | text-format or binary-format PPM and PGM files. Binary-format PPM/PGM files |
446 | maxval greater than 255 are assumed to use 2 bytes per sample, MSB first | 447 | which have a maxval greater than 255 are assumed to use 2 bytes per sample, |
447 | (big-endian order). As of early 1995, 2-byte binary format is not | 448 | MSB first (big-endian order). As of early 1995, 2-byte binary format is not |
448 | officially supported by the PBMPLUS library, but it is expected that a | 449 | officially supported by the PBMPLUS library, but it is expected that a |
449 | future release of PBMPLUS will support it. Note that the PPM reader will | 450 | future release of PBMPLUS will support it. Note that the PPM reader will |
450 | read files of any maxval regardless of the BITS_IN_JSAMPLE setting; incoming | 451 | read files of any maxval regardless of the BITS_IN_JSAMPLE setting; incoming |
451 | data is automatically rescaled to either maxval=255 or maxval=4095 as | 452 | data is automatically rescaled to maxval=MAXJSAMPLE as appropriate for the |
452 | appropriate for the cjpeg bit depth. | 453 | cjpeg bit depth. |
453 | 454 | ||
454 | The PPM writer (wrppm.c) will normally write 2-byte binary PPM or PGM | 455 | The PPM writer (wrppm.c) will normally write 2-byte binary PPM or PGM |
455 | format, maxval 4095, when compiled with BITS_IN_JSAMPLE=12. Since this | 456 | format, maxval=MAXJSAMPLE, when compiled with BITS_IN_JSAMPLE>8. Since this |
456 | format is not yet widely supported, you can disable it by compiling wrppm.c | 457 | format is not yet widely supported, you can disable it by compiling wrppm.c |
457 | with PPM_NORAWWORD defined; then the data is scaled down to 8 bits to make a | 458 | with PPM_NORAWWORD defined; then the data is scaled down to 8 bits to make a |
458 | standard 1-byte/sample PPM or PGM file. (Yes, this means still another copy | 459 | standard 1-byte/sample PPM or PGM file. (Yes, this means still another copy |
459 | of djpeg to keep around. But hopefully you won't need it for very long. | 460 | of djpeg to keep around. But hopefully you won't need it for very long. |
460 | Poskanzer's supposed to get that new PBMPLUS release out Real Soon Now.) | 461 | Poskanzer's supposed to get that new PBMPLUS release out Real Soon Now.) |
461 | 462 | ||
462 | Of course, if you are working with 12-bit data, you probably have it stored | 463 | Of course, if you are working with 9-bit to 12-bit data, you probably have |
463 | in some other, nonstandard format. In that case you'll probably want to | 464 | it stored in some other, nonstandard format. In that case you'll probably |
464 | write your own I/O modules to read and write your format. | 465 | want to write your own I/O modules to read and write your format. |
465 | 466 | ||
466 | Note that a 12-bit version of cjpeg always runs in "-optimize" mode, in | 467 | Note: |
467 | order to generate valid Huffman tables. This is necessary because our | 468 | The standard Huffman tables are only valid for 8-bit data precision. If |
468 | default Huffman tables only cover 8-bit data. | 469 | you selected more than 8-bit data precision, cjpeg uses arithmetic coding |
470 | by default. The Huffman encoder normally uses entropy optimization to | ||
471 | compute usable tables for higher precision. Otherwise, you'll have to | ||
472 | supply different default Huffman tables. | ||
469 | 473 | ||
470 | Removing code: | 474 | Removing code: |
471 | 475 | ||
@@ -848,17 +852,23 @@ with /Oo-. | |||
848 | Microsoft Windows (all versions), generic comments: | 852 | Microsoft Windows (all versions), generic comments: |
849 | 853 | ||
850 | Some Windows system include files define typedef boolean as "unsigned char". | 854 | Some Windows system include files define typedef boolean as "unsigned char". |
851 | The IJG code also defines typedef boolean, but we make it "int" by default. | 855 | The IJG code also defines typedef boolean, but we make it an "enum" by default. |
852 | This doesn't affect the IJG programs because we don't import those Windows | 856 | This doesn't affect the IJG programs because we don't import those Windows |
853 | include files. But if you use the JPEG library in your own program, and some | 857 | include files. But if you use the JPEG library in your own program, and some |
854 | of your program's files import one definition of boolean while some import the | 858 | of your program's files import one definition of boolean while some import the |
855 | other, you can get all sorts of mysterious problems. A good preventive step | 859 | other, you can get all sorts of mysterious problems. A good preventive step |
856 | is to make the IJG library use "unsigned char" for boolean. To do that, | 860 | is to make the IJG library use "unsigned char" for boolean. To do that, |
857 | add something like this to your jconfig.h file: | 861 | add something like this to your jconfig.h file: |
858 | /* Define "boolean" as unsigned char, not int, per Windows custom */ | 862 | /* Define "boolean" as unsigned char, not enum, per Windows custom */ |
859 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ | 863 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ |
860 | typedef unsigned char boolean; | 864 | typedef unsigned char boolean; |
861 | #endif | 865 | #endif |
866 | #ifndef FALSE /* in case these macros already exist */ | ||
867 | #define FALSE 0 /* values of boolean */ | ||
868 | #endif | ||
869 | #ifndef TRUE | ||
870 | #define TRUE 1 | ||
871 | #endif | ||
862 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ | 872 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ |
863 | (This is already in jconfig.vc, by the way.) | 873 | (This is already in jconfig.vc, by the way.) |
864 | 874 | ||
diff --git a/gs/jpeg/jcapistd.c b/gs/jpeg/jcapistd.c index c0320b1b1..0917afa97 100644 --- a/gs/jpeg/jcapistd.c +++ b/gs/jpeg/jcapistd.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * jcapistd.c | 2 | * jcapistd.c |
3 | * | 3 | * |
4 | * Copyright (C) 1994-1996, Thomas G. Lane. | 4 | * Copyright (C) 1994-1996, Thomas G. Lane. |
5 | * Modified 2013 by Guido Vollbeding. | ||
5 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 8 | * |
@@ -145,7 +146,7 @@ jpeg_write_raw_data (j_compress_ptr cinfo, JSAMPIMAGE data, | |||
145 | (*cinfo->master->pass_startup) (cinfo); | 146 | (*cinfo->master->pass_startup) (cinfo); |
146 | 147 | ||
147 | /* Verify that at least one iMCU row has been passed. */ | 148 | /* Verify that at least one iMCU row has been passed. */ |
148 | lines_per_iMCU_row = cinfo->max_v_samp_factor * DCTSIZE; | 149 | lines_per_iMCU_row = cinfo->max_v_samp_factor * cinfo->min_DCT_v_scaled_size; |
149 | if (num_lines < lines_per_iMCU_row) | 150 | if (num_lines < lines_per_iMCU_row) |
150 | ERREXIT(cinfo, JERR_BUFFER_SIZE); | 151 | ERREXIT(cinfo, JERR_BUFFER_SIZE); |
151 | 152 | ||
diff --git a/gs/jpeg/jcarith.c b/gs/jpeg/jcarith.c index 033f67069..a64190e72 100644 --- a/gs/jpeg/jcarith.c +++ b/gs/jpeg/jcarith.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * jcarith.c | 2 | * jcarith.c |
3 | * | 3 | * |
4 | * Developed 1997-2011 by Guido Vollbeding. | 4 | * Developed 1997-2013 by Guido Vollbeding. |
5 | * This file is part of the Independent JPEG Group's software. | 5 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 6 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 7 | * |
@@ -362,7 +362,6 @@ METHODDEF(boolean) | |||
362 | encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | 362 | encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) |
363 | { | 363 | { |
364 | arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; | 364 | arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; |
365 | JBLOCKROW block; | ||
366 | unsigned char *st; | 365 | unsigned char *st; |
367 | int blkn, ci, tbl; | 366 | int blkn, ci, tbl; |
368 | int v, v2, m; | 367 | int v, v2, m; |
@@ -381,14 +380,13 @@ encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
381 | 380 | ||
382 | /* Encode the MCU data blocks */ | 381 | /* Encode the MCU data blocks */ |
383 | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { | 382 | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { |
384 | block = MCU_data[blkn]; | ||
385 | ci = cinfo->MCU_membership[blkn]; | 383 | ci = cinfo->MCU_membership[blkn]; |
386 | tbl = cinfo->cur_comp_info[ci]->dc_tbl_no; | 384 | tbl = cinfo->cur_comp_info[ci]->dc_tbl_no; |
387 | 385 | ||
388 | /* Compute the DC value after the required point transform by Al. | 386 | /* Compute the DC value after the required point transform by Al. |
389 | * This is simply an arithmetic right shift. | 387 | * This is simply an arithmetic right shift. |
390 | */ | 388 | */ |
391 | m = IRIGHT_SHIFT((int) ((*block)[0]), cinfo->Al); | 389 | m = IRIGHT_SHIFT((int) (MCU_data[blkn][0][0]), cinfo->Al); |
392 | 390 | ||
393 | /* Sections F.1.4.1 & F.1.4.4.1: Encoding of DC coefficients */ | 391 | /* Sections F.1.4.1 & F.1.4.4.1: Encoding of DC coefficients */ |
394 | 392 | ||
@@ -453,11 +451,11 @@ METHODDEF(boolean) | |||
453 | encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | 451 | encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) |
454 | { | 452 | { |
455 | arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; | 453 | arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; |
454 | const int * natural_order; | ||
456 | JBLOCKROW block; | 455 | JBLOCKROW block; |
457 | unsigned char *st; | 456 | unsigned char *st; |
458 | int tbl, k, ke; | 457 | int tbl, k, ke; |
459 | int v, v2, m; | 458 | int v, v2, m; |
460 | const int * natural_order; | ||
461 | 459 | ||
462 | /* Emit restart marker if needed */ | 460 | /* Emit restart marker if needed */ |
463 | if (cinfo->restart_interval) { | 461 | if (cinfo->restart_interval) { |
@@ -479,7 +477,8 @@ encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
479 | /* Sections F.1.4.2 & F.1.4.4.2: Encoding of AC coefficients */ | 477 | /* Sections F.1.4.2 & F.1.4.4.2: Encoding of AC coefficients */ |
480 | 478 | ||
481 | /* Establish EOB (end-of-block) index */ | 479 | /* Establish EOB (end-of-block) index */ |
482 | for (ke = cinfo->Se; ke > 0; ke--) | 480 | ke = cinfo->Se; |
481 | do { | ||
483 | /* We must apply the point transform by Al. For AC coefficients this | 482 | /* We must apply the point transform by Al. For AC coefficients this |
484 | * is an integer division with rounding towards 0. To do this portably | 483 | * is an integer division with rounding towards 0. To do this portably |
485 | * in C, we shift after obtaining the absolute value. | 484 | * in C, we shift after obtaining the absolute value. |
@@ -490,13 +489,14 @@ encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
490 | v = -v; | 489 | v = -v; |
491 | if (v >>= cinfo->Al) break; | 490 | if (v >>= cinfo->Al) break; |
492 | } | 491 | } |
492 | } while (--ke); | ||
493 | 493 | ||
494 | /* Figure F.5: Encode_AC_Coefficients */ | 494 | /* Figure F.5: Encode_AC_Coefficients */ |
495 | for (k = cinfo->Ss; k <= ke; k++) { | 495 | for (k = cinfo->Ss - 1; k < ke;) { |
496 | st = entropy->ac_stats[tbl] + 3 * (k - 1); | 496 | st = entropy->ac_stats[tbl] + 3 * k; |
497 | arith_encode(cinfo, st, 0); /* EOB decision */ | 497 | arith_encode(cinfo, st, 0); /* EOB decision */ |
498 | for (;;) { | 498 | for (;;) { |
499 | if ((v = (*block)[natural_order[k]]) >= 0) { | 499 | if ((v = (*block)[natural_order[++k]]) >= 0) { |
500 | if (v >>= cinfo->Al) { | 500 | if (v >>= cinfo->Al) { |
501 | arith_encode(cinfo, st + 1, 1); | 501 | arith_encode(cinfo, st + 1, 1); |
502 | arith_encode(cinfo, entropy->fixed_bin, 0); | 502 | arith_encode(cinfo, entropy->fixed_bin, 0); |
@@ -510,7 +510,8 @@ encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
510 | break; | 510 | break; |
511 | } | 511 | } |
512 | } | 512 | } |
513 | arith_encode(cinfo, st + 1, 0); st += 3; k++; | 513 | arith_encode(cinfo, st + 1, 0); |
514 | st += 3; | ||
514 | } | 515 | } |
515 | st += 2; | 516 | st += 2; |
516 | /* Figure F.8: Encoding the magnitude category of v */ | 517 | /* Figure F.8: Encoding the magnitude category of v */ |
@@ -537,9 +538,9 @@ encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
537 | while (m >>= 1) | 538 | while (m >>= 1) |
538 | arith_encode(cinfo, st, (m & v) ? 1 : 0); | 539 | arith_encode(cinfo, st, (m & v) ? 1 : 0); |
539 | } | 540 | } |
540 | /* Encode EOB decision only if k <= cinfo->Se */ | 541 | /* Encode EOB decision only if k < cinfo->Se */ |
541 | if (k <= cinfo->Se) { | 542 | if (k < cinfo->Se) { |
542 | st = entropy->ac_stats[tbl] + 3 * (k - 1); | 543 | st = entropy->ac_stats[tbl] + 3 * k; |
543 | arith_encode(cinfo, st, 1); | 544 | arith_encode(cinfo, st, 1); |
544 | } | 545 | } |
545 | 546 | ||
@@ -549,6 +550,8 @@ encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
549 | 550 | ||
550 | /* | 551 | /* |
551 | * MCU encoding for DC successive approximation refinement scan. | 552 | * MCU encoding for DC successive approximation refinement scan. |
553 | * Note: we assume such scans can be multi-component, | ||
554 | * although the spec is not very clear on the point. | ||
552 | */ | 555 | */ |
553 | 556 | ||
554 | METHODDEF(boolean) | 557 | METHODDEF(boolean) |
@@ -590,11 +593,11 @@ METHODDEF(boolean) | |||
590 | encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | 593 | encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) |
591 | { | 594 | { |
592 | arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; | 595 | arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; |
596 | const int * natural_order; | ||
593 | JBLOCKROW block; | 597 | JBLOCKROW block; |
594 | unsigned char *st; | 598 | unsigned char *st; |
595 | int tbl, k, ke, kex; | 599 | int tbl, k, ke, kex; |
596 | int v; | 600 | int v; |
597 | const int * natural_order; | ||
598 | 601 | ||
599 | /* Emit restart marker if needed */ | 602 | /* Emit restart marker if needed */ |
600 | if (cinfo->restart_interval) { | 603 | if (cinfo->restart_interval) { |
@@ -616,7 +619,8 @@ encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
616 | /* Section G.1.3.3: Encoding of AC coefficients */ | 619 | /* Section G.1.3.3: Encoding of AC coefficients */ |
617 | 620 | ||
618 | /* Establish EOB (end-of-block) index */ | 621 | /* Establish EOB (end-of-block) index */ |
619 | for (ke = cinfo->Se; ke > 0; ke--) | 622 | ke = cinfo->Se; |
623 | do { | ||
620 | /* We must apply the point transform by Al. For AC coefficients this | 624 | /* We must apply the point transform by Al. For AC coefficients this |
621 | * is an integer division with rounding towards 0. To do this portably | 625 | * is an integer division with rounding towards 0. To do this portably |
622 | * in C, we shift after obtaining the absolute value. | 626 | * in C, we shift after obtaining the absolute value. |
@@ -627,6 +631,7 @@ encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
627 | v = -v; | 631 | v = -v; |
628 | if (v >>= cinfo->Al) break; | 632 | if (v >>= cinfo->Al) break; |
629 | } | 633 | } |
634 | } while (--ke); | ||
630 | 635 | ||
631 | /* Establish EOBx (previous stage end-of-block) index */ | 636 | /* Establish EOBx (previous stage end-of-block) index */ |
632 | for (kex = ke; kex > 0; kex--) | 637 | for (kex = ke; kex > 0; kex--) |
@@ -638,12 +643,12 @@ encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
638 | } | 643 | } |
639 | 644 | ||
640 | /* Figure G.10: Encode_AC_Coefficients_SA */ | 645 | /* Figure G.10: Encode_AC_Coefficients_SA */ |
641 | for (k = cinfo->Ss; k <= ke; k++) { | 646 | for (k = cinfo->Ss - 1; k < ke;) { |
642 | st = entropy->ac_stats[tbl] + 3 * (k - 1); | 647 | st = entropy->ac_stats[tbl] + 3 * k; |
643 | if (k > kex) | 648 | if (k >= kex) |
644 | arith_encode(cinfo, st, 0); /* EOB decision */ | 649 | arith_encode(cinfo, st, 0); /* EOB decision */ |
645 | for (;;) { | 650 | for (;;) { |
646 | if ((v = (*block)[natural_order[k]]) >= 0) { | 651 | if ((v = (*block)[natural_order[++k]]) >= 0) { |
647 | if (v >>= cinfo->Al) { | 652 | if (v >>= cinfo->Al) { |
648 | if (v >> 1) /* previously nonzero coef */ | 653 | if (v >> 1) /* previously nonzero coef */ |
649 | arith_encode(cinfo, st + 2, (v & 1)); | 654 | arith_encode(cinfo, st + 2, (v & 1)); |
@@ -665,12 +670,13 @@ encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
665 | break; | 670 | break; |
666 | } | 671 | } |
667 | } | 672 | } |
668 | arith_encode(cinfo, st + 1, 0); st += 3; k++; | 673 | arith_encode(cinfo, st + 1, 0); |
674 | st += 3; | ||
669 | } | 675 | } |
670 | } | 676 | } |
671 | /* Encode EOB decision only if k <= cinfo->Se */ | 677 | /* Encode EOB decision only if k < cinfo->Se */ |
672 | if (k <= cinfo->Se) { | 678 | if (k < cinfo->Se) { |
673 | st = entropy->ac_stats[tbl] + 3 * (k - 1); | 679 | st = entropy->ac_stats[tbl] + 3 * k; |
674 | arith_encode(cinfo, st, 1); | 680 | arith_encode(cinfo, st, 1); |
675 | } | 681 | } |
676 | 682 | ||
@@ -686,12 +692,13 @@ METHODDEF(boolean) | |||
686 | encode_mcu (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | 692 | encode_mcu (j_compress_ptr cinfo, JBLOCKROW *MCU_data) |
687 | { | 693 | { |
688 | arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; | 694 | arith_entropy_ptr entropy = (arith_entropy_ptr) cinfo->entropy; |
689 | jpeg_component_info * compptr; | 695 | const int * natural_order; |
690 | JBLOCKROW block; | 696 | JBLOCKROW block; |
691 | unsigned char *st; | 697 | unsigned char *st; |
692 | int blkn, ci, tbl, k, ke; | 698 | int tbl, k, ke; |
693 | int v, v2, m; | 699 | int v, v2, m; |
694 | const int * natural_order; | 700 | int blkn, ci; |
701 | jpeg_component_info * compptr; | ||
695 | 702 | ||
696 | /* Emit restart marker if needed */ | 703 | /* Emit restart marker if needed */ |
697 | if (cinfo->restart_interval) { | 704 | if (cinfo->restart_interval) { |
@@ -922,7 +929,7 @@ jinit_arith_encoder (j_compress_ptr cinfo) | |||
922 | entropy = (arith_entropy_ptr) | 929 | entropy = (arith_entropy_ptr) |
923 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 930 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
924 | SIZEOF(arith_entropy_encoder)); | 931 | SIZEOF(arith_entropy_encoder)); |
925 | cinfo->entropy = (struct jpeg_entropy_encoder *) entropy; | 932 | cinfo->entropy = &entropy->pub; |
926 | entropy->pub.start_pass = start_pass; | 933 | entropy->pub.start_pass = start_pass; |
927 | entropy->pub.finish_pass = finish_pass; | 934 | entropy->pub.finish_pass = finish_pass; |
928 | 935 | ||
diff --git a/gs/jpeg/jccolor.c b/gs/jpeg/jccolor.c index 3e2d0e927..f6b4a493f 100644 --- a/gs/jpeg/jccolor.c +++ b/gs/jpeg/jccolor.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jccolor.c | 2 | * jccolor.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1996, Thomas G. Lane. | 4 | * Copyright (C) 1991-1996, Thomas G. Lane. |
5 | * Modified 2011 by Guido Vollbeding. | 5 | * Modified 2011-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -29,13 +29,25 @@ typedef my_color_converter * my_cconvert_ptr; | |||
29 | /**************** RGB -> YCbCr conversion: most common case **************/ | 29 | /**************** RGB -> YCbCr conversion: most common case **************/ |
30 | 30 | ||
31 | /* | 31 | /* |
32 | * YCbCr is defined per CCIR 601-1, except that Cb and Cr are | 32 | * YCbCr is defined per Recommendation ITU-R BT.601-7 (03/2011), |
33 | * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. | 33 | * previously known as Recommendation CCIR 601-1, except that Cb and Cr |
34 | * The conversion equations to be implemented are therefore | 34 | * are normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. |
35 | * Y = 0.29900 * R + 0.58700 * G + 0.11400 * B | 35 | * sRGB (standard RGB color space) is defined per IEC 61966-2-1:1999. |
36 | * Cb = -0.16874 * R - 0.33126 * G + 0.50000 * B + CENTERJSAMPLE | 36 | * sYCC (standard luma-chroma-chroma color space with extended gamut) |
37 | * Cr = 0.50000 * R - 0.41869 * G - 0.08131 * B + CENTERJSAMPLE | 37 | * is defined per IEC 61966-2-1:1999 Amendment A1:2003 Annex F. |
38 | * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.) | 38 | * bg-sRGB and bg-sYCC (big gamut standard color spaces) |
39 | * are defined per IEC 61966-2-1:1999 Amendment A1:2003 Annex G. | ||
40 | * Note that the derived conversion coefficients given in some of these | ||
41 | * documents are imprecise. The general conversion equations are | ||
42 | * Y = Kr * R + (1 - Kr - Kb) * G + Kb * B | ||
43 | * Cb = 0.5 * (B - Y) / (1 - Kb) | ||
44 | * Cr = 0.5 * (R - Y) / (1 - Kr) | ||
45 | * With Kr = 0.299 and Kb = 0.114 (derived according to SMPTE RP 177-1993 | ||
46 | * from the 1953 FCC NTSC primaries and CIE Illuminant C), | ||
47 | * the conversion equations to be implemented are therefore | ||
48 | * Y = 0.299 * R + 0.587 * G + 0.114 * B | ||
49 | * Cb = -0.168735892 * R - 0.331264108 * G + 0.5 * B + CENTERJSAMPLE | ||
50 | * Cr = 0.5 * R - 0.418687589 * G - 0.081312411 * B + CENTERJSAMPLE | ||
39 | * Note: older versions of the IJG code used a zero offset of MAXJSAMPLE/2, | 51 | * Note: older versions of the IJG code used a zero offset of MAXJSAMPLE/2, |
40 | * rather than CENTERJSAMPLE, for Cb and Cr. This gave equal positive and | 52 | * rather than CENTERJSAMPLE, for Cb and Cr. This gave equal positive and |
41 | * negative swings for Cb/Cr, but meant that grayscale values (Cb=Cr=0) | 53 | * negative swings for Cb/Cr, but meant that grayscale values (Cb=Cr=0) |
@@ -49,9 +61,9 @@ typedef my_color_converter * my_cconvert_ptr; | |||
49 | * For even more speed, we avoid doing any multiplications in the inner loop | 61 | * For even more speed, we avoid doing any multiplications in the inner loop |
50 | * by precalculating the constants times R,G,B for all possible values. | 62 | * by precalculating the constants times R,G,B for all possible values. |
51 | * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table); | 63 | * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table); |
52 | * for 12-bit samples it is still acceptable. It's not very reasonable for | 64 | * for 9-bit to 12-bit samples it is still acceptable. It's not very |
53 | * 16-bit samples, but if you want lossless storage you shouldn't be changing | 65 | * reasonable for 16-bit samples, but if you want lossless storage you |
54 | * colorspace anyway. | 66 | * shouldn't be changing colorspace anyway. |
55 | * The CENTERJSAMPLE offsets and the rounding fudge-factor of 0.5 are included | 67 | * The CENTERJSAMPLE offsets and the rounding fudge-factor of 0.5 are included |
56 | * in the tables to save adding them separately in the inner loop. | 68 | * in the tables to save adding them separately in the inner loop. |
57 | */ | 69 | */ |
@@ -96,21 +108,21 @@ rgb_ycc_start (j_compress_ptr cinfo) | |||
96 | (TABLE_SIZE * SIZEOF(INT32))); | 108 | (TABLE_SIZE * SIZEOF(INT32))); |
97 | 109 | ||
98 | for (i = 0; i <= MAXJSAMPLE; i++) { | 110 | for (i = 0; i <= MAXJSAMPLE; i++) { |
99 | rgb_ycc_tab[i+R_Y_OFF] = FIX(0.29900) * i; | 111 | rgb_ycc_tab[i+R_Y_OFF] = FIX(0.299) * i; |
100 | rgb_ycc_tab[i+G_Y_OFF] = FIX(0.58700) * i; | 112 | rgb_ycc_tab[i+G_Y_OFF] = FIX(0.587) * i; |
101 | rgb_ycc_tab[i+B_Y_OFF] = FIX(0.11400) * i + ONE_HALF; | 113 | rgb_ycc_tab[i+B_Y_OFF] = FIX(0.114) * i + ONE_HALF; |
102 | rgb_ycc_tab[i+R_CB_OFF] = (-FIX(0.16874)) * i; | 114 | rgb_ycc_tab[i+R_CB_OFF] = (-FIX(0.168735892)) * i; |
103 | rgb_ycc_tab[i+G_CB_OFF] = (-FIX(0.33126)) * i; | 115 | rgb_ycc_tab[i+G_CB_OFF] = (-FIX(0.331264108)) * i; |
104 | /* We use a rounding fudge-factor of 0.5-epsilon for Cb and Cr. | 116 | /* We use a rounding fudge-factor of 0.5-epsilon for Cb and Cr. |
105 | * This ensures that the maximum output will round to MAXJSAMPLE | 117 | * This ensures that the maximum output will round to MAXJSAMPLE |
106 | * not MAXJSAMPLE+1, and thus that we don't have to range-limit. | 118 | * not MAXJSAMPLE+1, and thus that we don't have to range-limit. |
107 | */ | 119 | */ |
108 | rgb_ycc_tab[i+B_CB_OFF] = FIX(0.50000) * i + CBCR_OFFSET + ONE_HALF-1; | 120 | rgb_ycc_tab[i+B_CB_OFF] = FIX(0.5) * i + CBCR_OFFSET + ONE_HALF-1; |
109 | /* B=>Cb and R=>Cr tables are the same | 121 | /* B=>Cb and R=>Cr tables are the same |
110 | rgb_ycc_tab[i+R_CR_OFF] = FIX(0.50000) * i + CBCR_OFFSET + ONE_HALF-1; | 122 | rgb_ycc_tab[i+R_CR_OFF] = FIX(0.5) * i + CBCR_OFFSET + ONE_HALF-1; |
111 | */ | 123 | */ |
112 | rgb_ycc_tab[i+G_CR_OFF] = (-FIX(0.41869)) * i; | 124 | rgb_ycc_tab[i+G_CR_OFF] = (-FIX(0.418687589)) * i; |
113 | rgb_ycc_tab[i+B_CR_OFF] = (-FIX(0.08131)) * i; | 125 | rgb_ycc_tab[i+B_CR_OFF] = (-FIX(0.081312411)) * i; |
114 | } | 126 | } |
115 | } | 127 | } |
116 | 128 | ||
@@ -133,8 +145,8 @@ rgb_ycc_convert (j_compress_ptr cinfo, | |||
133 | JDIMENSION output_row, int num_rows) | 145 | JDIMENSION output_row, int num_rows) |
134 | { | 146 | { |
135 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | 147 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; |
136 | register int r, g, b; | ||
137 | register INT32 * ctab = cconvert->rgb_ycc_tab; | 148 | register INT32 * ctab = cconvert->rgb_ycc_tab; |
149 | register int r, g, b; | ||
138 | register JSAMPROW inptr; | 150 | register JSAMPROW inptr; |
139 | register JSAMPROW outptr0, outptr1, outptr2; | 151 | register JSAMPROW outptr0, outptr1, outptr2; |
140 | register JDIMENSION col; | 152 | register JDIMENSION col; |
@@ -150,7 +162,6 @@ rgb_ycc_convert (j_compress_ptr cinfo, | |||
150 | r = GETJSAMPLE(inptr[RGB_RED]); | 162 | r = GETJSAMPLE(inptr[RGB_RED]); |
151 | g = GETJSAMPLE(inptr[RGB_GREEN]); | 163 | g = GETJSAMPLE(inptr[RGB_GREEN]); |
152 | b = GETJSAMPLE(inptr[RGB_BLUE]); | 164 | b = GETJSAMPLE(inptr[RGB_BLUE]); |
153 | inptr += RGB_PIXELSIZE; | ||
154 | /* If the inputs are 0..MAXJSAMPLE, the outputs of these equations | 165 | /* If the inputs are 0..MAXJSAMPLE, the outputs of these equations |
155 | * must be too; we do not need an explicit range-limiting operation. | 166 | * must be too; we do not need an explicit range-limiting operation. |
156 | * Hence the value being shifted is never negative, and we don't | 167 | * Hence the value being shifted is never negative, and we don't |
@@ -168,6 +179,7 @@ rgb_ycc_convert (j_compress_ptr cinfo, | |||
168 | outptr2[col] = (JSAMPLE) | 179 | outptr2[col] = (JSAMPLE) |
169 | ((ctab[r+R_CR_OFF] + ctab[g+G_CR_OFF] + ctab[b+B_CR_OFF]) | 180 | ((ctab[r+R_CR_OFF] + ctab[g+G_CR_OFF] + ctab[b+B_CR_OFF]) |
170 | >> SCALEBITS); | 181 | >> SCALEBITS); |
182 | inptr += RGB_PIXELSIZE; | ||
171 | } | 183 | } |
172 | } | 184 | } |
173 | } | 185 | } |
@@ -189,8 +201,8 @@ rgb_gray_convert (j_compress_ptr cinfo, | |||
189 | JDIMENSION output_row, int num_rows) | 201 | JDIMENSION output_row, int num_rows) |
190 | { | 202 | { |
191 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | 203 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; |
192 | register int r, g, b; | ||
193 | register INT32 * ctab = cconvert->rgb_ycc_tab; | 204 | register INT32 * ctab = cconvert->rgb_ycc_tab; |
205 | register int r, g, b; | ||
194 | register JSAMPROW inptr; | 206 | register JSAMPROW inptr; |
195 | register JSAMPROW outptr; | 207 | register JSAMPROW outptr; |
196 | register JDIMENSION col; | 208 | register JDIMENSION col; |
@@ -198,17 +210,16 @@ rgb_gray_convert (j_compress_ptr cinfo, | |||
198 | 210 | ||
199 | while (--num_rows >= 0) { | 211 | while (--num_rows >= 0) { |
200 | inptr = *input_buf++; | 212 | inptr = *input_buf++; |
201 | outptr = output_buf[0][output_row]; | 213 | outptr = output_buf[0][output_row++]; |
202 | output_row++; | ||
203 | for (col = 0; col < num_cols; col++) { | 214 | for (col = 0; col < num_cols; col++) { |
204 | r = GETJSAMPLE(inptr[RGB_RED]); | 215 | r = GETJSAMPLE(inptr[RGB_RED]); |
205 | g = GETJSAMPLE(inptr[RGB_GREEN]); | 216 | g = GETJSAMPLE(inptr[RGB_GREEN]); |
206 | b = GETJSAMPLE(inptr[RGB_BLUE]); | 217 | b = GETJSAMPLE(inptr[RGB_BLUE]); |
207 | inptr += RGB_PIXELSIZE; | ||
208 | /* Y */ | 218 | /* Y */ |
209 | outptr[col] = (JSAMPLE) | 219 | outptr[col] = (JSAMPLE) |
210 | ((ctab[r+R_Y_OFF] + ctab[g+G_Y_OFF] + ctab[b+B_Y_OFF]) | 220 | ((ctab[r+R_Y_OFF] + ctab[g+G_Y_OFF] + ctab[b+B_Y_OFF]) |
211 | >> SCALEBITS); | 221 | >> SCALEBITS); |
222 | inptr += RGB_PIXELSIZE; | ||
212 | } | 223 | } |
213 | } | 224 | } |
214 | } | 225 | } |
@@ -228,8 +239,8 @@ cmyk_ycck_convert (j_compress_ptr cinfo, | |||
228 | JDIMENSION output_row, int num_rows) | 239 | JDIMENSION output_row, int num_rows) |
229 | { | 240 | { |
230 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | 241 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; |
231 | register int r, g, b; | ||
232 | register INT32 * ctab = cconvert->rgb_ycc_tab; | 242 | register INT32 * ctab = cconvert->rgb_ycc_tab; |
243 | register int r, g, b; | ||
233 | register JSAMPROW inptr; | 244 | register JSAMPROW inptr; |
234 | register JSAMPROW outptr0, outptr1, outptr2, outptr3; | 245 | register JSAMPROW outptr0, outptr1, outptr2, outptr3; |
235 | register JDIMENSION col; | 246 | register JDIMENSION col; |
@@ -248,7 +259,6 @@ cmyk_ycck_convert (j_compress_ptr cinfo, | |||
248 | b = MAXJSAMPLE - GETJSAMPLE(inptr[2]); | 259 | b = MAXJSAMPLE - GETJSAMPLE(inptr[2]); |
249 | /* K passes through as-is */ | 260 | /* K passes through as-is */ |
250 | outptr3[col] = inptr[3]; /* don't need GETJSAMPLE here */ | 261 | outptr3[col] = inptr[3]; /* don't need GETJSAMPLE here */ |
251 | inptr += 4; | ||
252 | /* If the inputs are 0..MAXJSAMPLE, the outputs of these equations | 262 | /* If the inputs are 0..MAXJSAMPLE, the outputs of these equations |
253 | * must be too; we do not need an explicit range-limiting operation. | 263 | * must be too; we do not need an explicit range-limiting operation. |
254 | * Hence the value being shifted is never negative, and we don't | 264 | * Hence the value being shifted is never negative, and we don't |
@@ -266,6 +276,49 @@ cmyk_ycck_convert (j_compress_ptr cinfo, | |||
266 | outptr2[col] = (JSAMPLE) | 276 | outptr2[col] = (JSAMPLE) |
267 | ((ctab[r+R_CR_OFF] + ctab[g+G_CR_OFF] + ctab[b+B_CR_OFF]) | 277 | ((ctab[r+R_CR_OFF] + ctab[g+G_CR_OFF] + ctab[b+B_CR_OFF]) |
268 | >> SCALEBITS); | 278 | >> SCALEBITS); |
279 | inptr += 4; | ||
280 | } | ||
281 | } | ||
282 | } | ||
283 | |||
284 | |||
285 | /* | ||
286 | * Convert some rows of samples to the JPEG colorspace. | ||
287 | * [R,G,B] to [R-G,G,B-G] conversion with modulo calculation | ||
288 | * (forward reversible color transform). | ||
289 | * This can be seen as an adaption of the general RGB->YCbCr | ||
290 | * conversion equation with Kr = Kb = 0, while replacing the | ||
291 | * normalization by modulo calculation. | ||
292 | */ | ||
293 | |||
294 | METHODDEF(void) | ||
295 | rgb_rgb1_convert (j_compress_ptr cinfo, | ||
296 | JSAMPARRAY input_buf, JSAMPIMAGE output_buf, | ||
297 | JDIMENSION output_row, int num_rows) | ||
298 | { | ||
299 | register int r, g, b; | ||
300 | register JSAMPROW inptr; | ||
301 | register JSAMPROW outptr0, outptr1, outptr2; | ||
302 | register JDIMENSION col; | ||
303 | JDIMENSION num_cols = cinfo->image_width; | ||
304 | |||
305 | while (--num_rows >= 0) { | ||
306 | inptr = *input_buf++; | ||
307 | outptr0 = output_buf[0][output_row]; | ||
308 | outptr1 = output_buf[1][output_row]; | ||
309 | outptr2 = output_buf[2][output_row]; | ||
310 | output_row++; | ||
311 | for (col = 0; col < num_cols; col++) { | ||
312 | r = GETJSAMPLE(inptr[RGB_RED]); | ||
313 | g = GETJSAMPLE(inptr[RGB_GREEN]); | ||
314 | b = GETJSAMPLE(inptr[RGB_BLUE]); | ||
315 | /* Assume that MAXJSAMPLE+1 is a power of 2, so that the MOD | ||
316 | * (modulo) operator is equivalent to the bitmask operator AND. | ||
317 | */ | ||
318 | outptr0[col] = (JSAMPLE) ((r - g + CENTERJSAMPLE) & MAXJSAMPLE); | ||
319 | outptr1[col] = (JSAMPLE) g; | ||
320 | outptr2[col] = (JSAMPLE) ((b - g + CENTERJSAMPLE) & MAXJSAMPLE); | ||
321 | inptr += RGB_PIXELSIZE; | ||
269 | } | 322 | } |
270 | } | 323 | } |
271 | } | 324 | } |
@@ -274,7 +327,7 @@ cmyk_ycck_convert (j_compress_ptr cinfo, | |||
274 | /* | 327 | /* |
275 | * Convert some rows of samples to the JPEG colorspace. | 328 | * Convert some rows of samples to the JPEG colorspace. |
276 | * This version handles grayscale output with no conversion. | 329 | * This version handles grayscale output with no conversion. |
277 | * The source can be either plain grayscale or YCbCr (since Y == gray). | 330 | * The source can be either plain grayscale or YCC (since Y == gray). |
278 | */ | 331 | */ |
279 | 332 | ||
280 | METHODDEF(void) | 333 | METHODDEF(void) |
@@ -282,16 +335,15 @@ grayscale_convert (j_compress_ptr cinfo, | |||
282 | JSAMPARRAY input_buf, JSAMPIMAGE output_buf, | 335 | JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
283 | JDIMENSION output_row, int num_rows) | 336 | JDIMENSION output_row, int num_rows) |
284 | { | 337 | { |
338 | int instride = cinfo->input_components; | ||
285 | register JSAMPROW inptr; | 339 | register JSAMPROW inptr; |
286 | register JSAMPROW outptr; | 340 | register JSAMPROW outptr; |
287 | register JDIMENSION col; | 341 | register JDIMENSION col; |
288 | JDIMENSION num_cols = cinfo->image_width; | 342 | JDIMENSION num_cols = cinfo->image_width; |
289 | int instride = cinfo->input_components; | ||
290 | 343 | ||
291 | while (--num_rows >= 0) { | 344 | while (--num_rows >= 0) { |
292 | inptr = *input_buf++; | 345 | inptr = *input_buf++; |
293 | outptr = output_buf[0][output_row]; | 346 | outptr = output_buf[0][output_row++]; |
294 | output_row++; | ||
295 | for (col = 0; col < num_cols; col++) { | 347 | for (col = 0; col < num_cols; col++) { |
296 | outptr[col] = inptr[0]; /* don't need GETJSAMPLE() here */ | 348 | outptr[col] = inptr[0]; /* don't need GETJSAMPLE() here */ |
297 | inptr += instride; | 349 | inptr += instride; |
@@ -344,20 +396,20 @@ null_convert (j_compress_ptr cinfo, | |||
344 | JSAMPARRAY input_buf, JSAMPIMAGE output_buf, | 396 | JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
345 | JDIMENSION output_row, int num_rows) | 397 | JDIMENSION output_row, int num_rows) |
346 | { | 398 | { |
399 | int ci; | ||
400 | register int nc = cinfo->num_components; | ||
347 | register JSAMPROW inptr; | 401 | register JSAMPROW inptr; |
348 | register JSAMPROW outptr; | 402 | register JSAMPROW outptr; |
349 | register JDIMENSION col; | 403 | register JDIMENSION col; |
350 | register int ci; | ||
351 | int nc = cinfo->num_components; | ||
352 | JDIMENSION num_cols = cinfo->image_width; | 404 | JDIMENSION num_cols = cinfo->image_width; |
353 | 405 | ||
354 | while (--num_rows >= 0) { | 406 | while (--num_rows >= 0) { |
355 | /* It seems fastest to make a separate pass for each component. */ | 407 | /* It seems fastest to make a separate pass for each component. */ |
356 | for (ci = 0; ci < nc; ci++) { | 408 | for (ci = 0; ci < nc; ci++) { |
357 | inptr = *input_buf; | 409 | inptr = input_buf[0] + ci; |
358 | outptr = output_buf[ci][output_row]; | 410 | outptr = output_buf[ci][output_row]; |
359 | for (col = 0; col < num_cols; col++) { | 411 | for (col = 0; col < num_cols; col++) { |
360 | outptr[col] = inptr[ci]; /* don't need GETJSAMPLE() here */ | 412 | *outptr++ = *inptr; /* don't need GETJSAMPLE() here */ |
361 | inptr += nc; | 413 | inptr += nc; |
362 | } | 414 | } |
363 | } | 415 | } |
@@ -390,7 +442,7 @@ jinit_color_converter (j_compress_ptr cinfo) | |||
390 | cconvert = (my_cconvert_ptr) | 442 | cconvert = (my_cconvert_ptr) |
391 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 443 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
392 | SIZEOF(my_color_converter)); | 444 | SIZEOF(my_color_converter)); |
393 | cinfo->cconvert = (struct jpeg_color_converter *) cconvert; | 445 | cinfo->cconvert = &cconvert->pub; |
394 | /* set start_pass to null method until we find out differently */ | 446 | /* set start_pass to null method until we find out differently */ |
395 | cconvert->pub.start_pass = null_method; | 447 | cconvert->pub.start_pass = null_method; |
396 | 448 | ||
@@ -402,11 +454,13 @@ jinit_color_converter (j_compress_ptr cinfo) | |||
402 | break; | 454 | break; |
403 | 455 | ||
404 | case JCS_RGB: | 456 | case JCS_RGB: |
457 | case JCS_BG_RGB: | ||
405 | if (cinfo->input_components != RGB_PIXELSIZE) | 458 | if (cinfo->input_components != RGB_PIXELSIZE) |
406 | ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); | 459 | ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); |
407 | break; | 460 | break; |
408 | 461 | ||
409 | case JCS_YCbCr: | 462 | case JCS_YCbCr: |
463 | case JCS_BG_YCC: | ||
410 | if (cinfo->input_components != 3) | 464 | if (cinfo->input_components != 3) |
411 | ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); | 465 | ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); |
412 | break; | 466 | break; |
@@ -423,40 +477,96 @@ jinit_color_converter (j_compress_ptr cinfo) | |||
423 | break; | 477 | break; |
424 | } | 478 | } |
425 | 479 | ||
480 | /* Support color transform only for RGB colorspaces */ | ||
481 | if (cinfo->color_transform && | ||
482 | cinfo->jpeg_color_space != JCS_RGB && | ||
483 | cinfo->jpeg_color_space != JCS_BG_RGB) | ||
484 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
485 | |||
426 | /* Check num_components, set conversion method based on requested space */ | 486 | /* Check num_components, set conversion method based on requested space */ |
427 | switch (cinfo->jpeg_color_space) { | 487 | switch (cinfo->jpeg_color_space) { |
428 | case JCS_GRAYSCALE: | 488 | case JCS_GRAYSCALE: |
429 | if (cinfo->num_components != 1) | 489 | if (cinfo->num_components != 1) |
430 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); | 490 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); |
431 | if (cinfo->in_color_space == JCS_GRAYSCALE || | 491 | switch (cinfo->in_color_space) { |
432 | cinfo->in_color_space == JCS_YCbCr) | 492 | case JCS_GRAYSCALE: |
493 | case JCS_YCbCr: | ||
494 | case JCS_BG_YCC: | ||
433 | cconvert->pub.color_convert = grayscale_convert; | 495 | cconvert->pub.color_convert = grayscale_convert; |
434 | else if (cinfo->in_color_space == JCS_RGB) { | 496 | break; |
497 | case JCS_RGB: | ||
435 | cconvert->pub.start_pass = rgb_ycc_start; | 498 | cconvert->pub.start_pass = rgb_ycc_start; |
436 | cconvert->pub.color_convert = rgb_gray_convert; | 499 | cconvert->pub.color_convert = rgb_gray_convert; |
437 | } else | 500 | break; |
501 | default: | ||
438 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | 502 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); |
503 | } | ||
439 | break; | 504 | break; |
440 | 505 | ||
441 | case JCS_RGB: | 506 | case JCS_RGB: |
507 | case JCS_BG_RGB: | ||
442 | if (cinfo->num_components != 3) | 508 | if (cinfo->num_components != 3) |
443 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); | 509 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); |
444 | if (cinfo->in_color_space == JCS_RGB) | 510 | if (cinfo->in_color_space == cinfo->jpeg_color_space) { |
445 | cconvert->pub.color_convert = rgb_convert; | 511 | switch (cinfo->color_transform) { |
446 | else | 512 | case JCT_NONE: |
513 | cconvert->pub.color_convert = rgb_convert; | ||
514 | break; | ||
515 | case JCT_SUBTRACT_GREEN: | ||
516 | cconvert->pub.color_convert = rgb_rgb1_convert; | ||
517 | break; | ||
518 | default: | ||
519 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
520 | } | ||
521 | } else | ||
447 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | 522 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); |
448 | break; | 523 | break; |
449 | 524 | ||
450 | case JCS_YCbCr: | 525 | case JCS_YCbCr: |
451 | if (cinfo->num_components != 3) | 526 | if (cinfo->num_components != 3) |
452 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); | 527 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); |
453 | if (cinfo->in_color_space == JCS_RGB) { | 528 | switch (cinfo->in_color_space) { |
529 | case JCS_RGB: | ||
454 | cconvert->pub.start_pass = rgb_ycc_start; | 530 | cconvert->pub.start_pass = rgb_ycc_start; |
455 | cconvert->pub.color_convert = rgb_ycc_convert; | 531 | cconvert->pub.color_convert = rgb_ycc_convert; |
456 | } else if (cinfo->in_color_space == JCS_YCbCr) | 532 | break; |
533 | case JCS_YCbCr: | ||
457 | cconvert->pub.color_convert = null_convert; | 534 | cconvert->pub.color_convert = null_convert; |
458 | else | 535 | break; |
536 | default: | ||
537 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
538 | } | ||
539 | break; | ||
540 | |||
541 | case JCS_BG_YCC: | ||
542 | if (cinfo->num_components != 3) | ||
543 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); | ||
544 | switch (cinfo->in_color_space) { | ||
545 | case JCS_RGB: | ||
546 | /* For conversion from normal RGB input to BG_YCC representation, | ||
547 | * the Cb/Cr values are first computed as usual, and then | ||
548 | * quantized further after DCT processing by a factor of | ||
549 | * 2 in reference to the nominal quantization factor. | ||
550 | */ | ||
551 | /* need quantization scale by factor of 2 after DCT */ | ||
552 | cinfo->comp_info[1].component_needed = TRUE; | ||
553 | cinfo->comp_info[2].component_needed = TRUE; | ||
554 | /* compute normal YCC first */ | ||
555 | cconvert->pub.start_pass = rgb_ycc_start; | ||
556 | cconvert->pub.color_convert = rgb_ycc_convert; | ||
557 | break; | ||
558 | case JCS_YCbCr: | ||
559 | /* need quantization scale by factor of 2 after DCT */ | ||
560 | cinfo->comp_info[1].component_needed = TRUE; | ||
561 | cinfo->comp_info[2].component_needed = TRUE; | ||
562 | /*FALLTHROUGH*/ | ||
563 | case JCS_BG_YCC: | ||
564 | /* Pass through for BG_YCC input */ | ||
565 | cconvert->pub.color_convert = null_convert; | ||
566 | break; | ||
567 | default: | ||
459 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | 568 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); |
569 | } | ||
460 | break; | 570 | break; |
461 | 571 | ||
462 | case JCS_CMYK: | 572 | case JCS_CMYK: |
@@ -471,13 +581,17 @@ jinit_color_converter (j_compress_ptr cinfo) | |||
471 | case JCS_YCCK: | 581 | case JCS_YCCK: |
472 | if (cinfo->num_components != 4) | 582 | if (cinfo->num_components != 4) |
473 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); | 583 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); |
474 | if (cinfo->in_color_space == JCS_CMYK) { | 584 | switch (cinfo->in_color_space) { |
585 | case JCS_CMYK: | ||
475 | cconvert->pub.start_pass = rgb_ycc_start; | 586 | cconvert->pub.start_pass = rgb_ycc_start; |
476 | cconvert->pub.color_convert = cmyk_ycck_convert; | 587 | cconvert->pub.color_convert = cmyk_ycck_convert; |
477 | } else if (cinfo->in_color_space == JCS_YCCK) | 588 | break; |
589 | case JCS_YCCK: | ||
478 | cconvert->pub.color_convert = null_convert; | 590 | cconvert->pub.color_convert = null_convert; |
479 | else | 591 | break; |
592 | default: | ||
480 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | 593 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); |
594 | } | ||
481 | break; | 595 | break; |
482 | 596 | ||
483 | default: /* allow null conversion of JCS_UNKNOWN */ | 597 | default: /* allow null conversion of JCS_UNKNOWN */ |
diff --git a/gs/jpeg/jcdctmgr.c b/gs/jpeg/jcdctmgr.c index 0bbdbb685..fafab91c6 100644 --- a/gs/jpeg/jcdctmgr.c +++ b/gs/jpeg/jcdctmgr.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * jcdctmgr.c | 2 | * jcdctmgr.c |
3 | * | 3 | * |
4 | * Copyright (C) 1994-1996, Thomas G. Lane. | 4 | * Copyright (C) 1994-1996, Thomas G. Lane. |
5 | * Modified 2003-2013 by Guido Vollbeding. | ||
5 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 8 | * |
@@ -25,22 +26,30 @@ typedef struct { | |||
25 | /* Pointer to the DCT routine actually in use */ | 26 | /* Pointer to the DCT routine actually in use */ |
26 | forward_DCT_method_ptr do_dct[MAX_COMPONENTS]; | 27 | forward_DCT_method_ptr do_dct[MAX_COMPONENTS]; |
27 | 28 | ||
28 | /* The actual post-DCT divisors --- not identical to the quant table | ||
29 | * entries, because of scaling (especially for an unnormalized DCT). | ||
30 | * Each table is given in normal array order. | ||
31 | */ | ||
32 | DCTELEM * divisors[NUM_QUANT_TBLS]; | ||
33 | |||
34 | #ifdef DCT_FLOAT_SUPPORTED | 29 | #ifdef DCT_FLOAT_SUPPORTED |
35 | /* Same as above for the floating-point case. */ | 30 | /* Same as above for the floating-point case. */ |
36 | float_DCT_method_ptr do_float_dct[MAX_COMPONENTS]; | 31 | float_DCT_method_ptr do_float_dct[MAX_COMPONENTS]; |
37 | FAST_FLOAT * float_divisors[NUM_QUANT_TBLS]; | ||
38 | #endif | 32 | #endif |
39 | } my_fdct_controller; | 33 | } my_fdct_controller; |
40 | 34 | ||
41 | typedef my_fdct_controller * my_fdct_ptr; | 35 | typedef my_fdct_controller * my_fdct_ptr; |
42 | 36 | ||
43 | 37 | ||
38 | /* The allocated post-DCT divisor tables -- big enough for any | ||
39 | * supported variant and not identical to the quant table entries, | ||
40 | * because of scaling (especially for an unnormalized DCT) -- | ||
41 | * are pointed to by dct_table in the per-component comp_info | ||
42 | * structures. Each table is given in normal array order. | ||
43 | */ | ||
44 | |||
45 | typedef union { | ||
46 | DCTELEM int_array[DCTSIZE2]; | ||
47 | #ifdef DCT_FLOAT_SUPPORTED | ||
48 | FAST_FLOAT float_array[DCTSIZE2]; | ||
49 | #endif | ||
50 | } divisor_table; | ||
51 | |||
52 | |||
44 | /* The current scaled-DCT routines require ISLOW-style divisor tables, | 53 | /* The current scaled-DCT routines require ISLOW-style divisor tables, |
45 | * so be sure to compile that code if either ISLOW or SCALING is requested. | 54 | * so be sure to compile that code if either ISLOW or SCALING is requested. |
46 | */ | 55 | */ |
@@ -71,7 +80,7 @@ forward_DCT (j_compress_ptr cinfo, jpeg_component_info * compptr, | |||
71 | /* This routine is heavily used, so it's worth coding it tightly. */ | 80 | /* This routine is heavily used, so it's worth coding it tightly. */ |
72 | my_fdct_ptr fdct = (my_fdct_ptr) cinfo->fdct; | 81 | my_fdct_ptr fdct = (my_fdct_ptr) cinfo->fdct; |
73 | forward_DCT_method_ptr do_dct = fdct->do_dct[compptr->component_index]; | 82 | forward_DCT_method_ptr do_dct = fdct->do_dct[compptr->component_index]; |
74 | DCTELEM * divisors = fdct->divisors[compptr->quant_tbl_no]; | 83 | DCTELEM * divisors = (DCTELEM *) compptr->dct_table; |
75 | DCTELEM workspace[DCTSIZE2]; /* work area for FDCT subroutine */ | 84 | DCTELEM workspace[DCTSIZE2]; /* work area for FDCT subroutine */ |
76 | JDIMENSION bi; | 85 | JDIMENSION bi; |
77 | 86 | ||
@@ -134,7 +143,7 @@ forward_DCT_float (j_compress_ptr cinfo, jpeg_component_info * compptr, | |||
134 | /* This routine is heavily used, so it's worth coding it tightly. */ | 143 | /* This routine is heavily used, so it's worth coding it tightly. */ |
135 | my_fdct_ptr fdct = (my_fdct_ptr) cinfo->fdct; | 144 | my_fdct_ptr fdct = (my_fdct_ptr) cinfo->fdct; |
136 | float_DCT_method_ptr do_dct = fdct->do_float_dct[compptr->component_index]; | 145 | float_DCT_method_ptr do_dct = fdct->do_float_dct[compptr->component_index]; |
137 | FAST_FLOAT * divisors = fdct->float_divisors[compptr->quant_tbl_no]; | 146 | FAST_FLOAT * divisors = (FAST_FLOAT *) compptr->dct_table; |
138 | FAST_FLOAT workspace[DCTSIZE2]; /* work area for FDCT subroutine */ | 147 | FAST_FLOAT workspace[DCTSIZE2]; /* work area for FDCT subroutine */ |
139 | JDIMENSION bi; | 148 | JDIMENSION bi; |
140 | 149 | ||
@@ -352,22 +361,17 @@ start_pass_fdctmgr (j_compress_ptr cinfo) | |||
352 | cinfo->quant_tbl_ptrs[qtblno] == NULL) | 361 | cinfo->quant_tbl_ptrs[qtblno] == NULL) |
353 | ERREXIT1(cinfo, JERR_NO_QUANT_TABLE, qtblno); | 362 | ERREXIT1(cinfo, JERR_NO_QUANT_TABLE, qtblno); |
354 | qtbl = cinfo->quant_tbl_ptrs[qtblno]; | 363 | qtbl = cinfo->quant_tbl_ptrs[qtblno]; |
355 | /* Compute divisors for this quant table */ | 364 | /* Create divisor table from quant table */ |
356 | /* We may do this more than once for same table, but it's not a big deal */ | ||
357 | switch (method) { | 365 | switch (method) { |
358 | #ifdef PROVIDE_ISLOW_TABLES | 366 | #ifdef PROVIDE_ISLOW_TABLES |
359 | case JDCT_ISLOW: | 367 | case JDCT_ISLOW: |
360 | /* For LL&M IDCT method, divisors are equal to raw quantization | 368 | /* For LL&M IDCT method, divisors are equal to raw quantization |
361 | * coefficients multiplied by 8 (to counteract scaling). | 369 | * coefficients multiplied by 8 (to counteract scaling). |
362 | */ | 370 | */ |
363 | if (fdct->divisors[qtblno] == NULL) { | 371 | dtbl = (DCTELEM *) compptr->dct_table; |
364 | fdct->divisors[qtblno] = (DCTELEM *) | ||
365 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||
366 | DCTSIZE2 * SIZEOF(DCTELEM)); | ||
367 | } | ||
368 | dtbl = fdct->divisors[qtblno]; | ||
369 | for (i = 0; i < DCTSIZE2; i++) { | 372 | for (i = 0; i < DCTSIZE2; i++) { |
370 | dtbl[i] = ((DCTELEM) qtbl->quantval[i]) << 3; | 373 | dtbl[i] = |
374 | ((DCTELEM) qtbl->quantval[i]) << (compptr->component_needed ? 4 : 3); | ||
371 | } | 375 | } |
372 | fdct->pub.forward_DCT[ci] = forward_DCT; | 376 | fdct->pub.forward_DCT[ci] = forward_DCT; |
373 | break; | 377 | break; |
@@ -395,17 +399,12 @@ start_pass_fdctmgr (j_compress_ptr cinfo) | |||
395 | }; | 399 | }; |
396 | SHIFT_TEMPS | 400 | SHIFT_TEMPS |
397 | 401 | ||
398 | if (fdct->divisors[qtblno] == NULL) { | 402 | dtbl = (DCTELEM *) compptr->dct_table; |
399 | fdct->divisors[qtblno] = (DCTELEM *) | ||
400 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||
401 | DCTSIZE2 * SIZEOF(DCTELEM)); | ||
402 | } | ||
403 | dtbl = fdct->divisors[qtblno]; | ||
404 | for (i = 0; i < DCTSIZE2; i++) { | 403 | for (i = 0; i < DCTSIZE2; i++) { |
405 | dtbl[i] = (DCTELEM) | 404 | dtbl[i] = (DCTELEM) |
406 | DESCALE(MULTIPLY16V16((INT32) qtbl->quantval[i], | 405 | DESCALE(MULTIPLY16V16((INT32) qtbl->quantval[i], |
407 | (INT32) aanscales[i]), | 406 | (INT32) aanscales[i]), |
408 | CONST_BITS-3); | 407 | compptr->component_needed ? CONST_BITS-4 : CONST_BITS-3); |
409 | } | 408 | } |
410 | } | 409 | } |
411 | fdct->pub.forward_DCT[ci] = forward_DCT; | 410 | fdct->pub.forward_DCT[ci] = forward_DCT; |
@@ -422,25 +421,20 @@ start_pass_fdctmgr (j_compress_ptr cinfo) | |||
422 | * What's actually stored is 1/divisor so that the inner loop can | 421 | * What's actually stored is 1/divisor so that the inner loop can |
423 | * use a multiplication rather than a division. | 422 | * use a multiplication rather than a division. |
424 | */ | 423 | */ |
425 | FAST_FLOAT * fdtbl; | 424 | FAST_FLOAT * fdtbl = (FAST_FLOAT *) compptr->dct_table; |
426 | int row, col; | 425 | int row, col; |
427 | static const double aanscalefactor[DCTSIZE] = { | 426 | static const double aanscalefactor[DCTSIZE] = { |
428 | 1.0, 1.387039845, 1.306562965, 1.175875602, | 427 | 1.0, 1.387039845, 1.306562965, 1.175875602, |
429 | 1.0, 0.785694958, 0.541196100, 0.275899379 | 428 | 1.0, 0.785694958, 0.541196100, 0.275899379 |
430 | }; | 429 | }; |
431 | 430 | ||
432 | if (fdct->float_divisors[qtblno] == NULL) { | ||
433 | fdct->float_divisors[qtblno] = (FAST_FLOAT *) | ||
434 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||
435 | DCTSIZE2 * SIZEOF(FAST_FLOAT)); | ||
436 | } | ||
437 | fdtbl = fdct->float_divisors[qtblno]; | ||
438 | i = 0; | 431 | i = 0; |
439 | for (row = 0; row < DCTSIZE; row++) { | 432 | for (row = 0; row < DCTSIZE; row++) { |
440 | for (col = 0; col < DCTSIZE; col++) { | 433 | for (col = 0; col < DCTSIZE; col++) { |
441 | fdtbl[i] = (FAST_FLOAT) | 434 | fdtbl[i] = (FAST_FLOAT) |
442 | (1.0 / (((double) qtbl->quantval[i] * | 435 | (1.0 / ((double) qtbl->quantval[i] * |
443 | aanscalefactor[row] * aanscalefactor[col] * 8.0))); | 436 | aanscalefactor[row] * aanscalefactor[col] * |
437 | (compptr->component_needed ? 16.0 : 8.0))); | ||
444 | i++; | 438 | i++; |
445 | } | 439 | } |
446 | } | 440 | } |
@@ -464,19 +458,20 @@ GLOBAL(void) | |||
464 | jinit_forward_dct (j_compress_ptr cinfo) | 458 | jinit_forward_dct (j_compress_ptr cinfo) |
465 | { | 459 | { |
466 | my_fdct_ptr fdct; | 460 | my_fdct_ptr fdct; |
467 | int i; | 461 | int ci; |
462 | jpeg_component_info *compptr; | ||
468 | 463 | ||
469 | fdct = (my_fdct_ptr) | 464 | fdct = (my_fdct_ptr) |
470 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 465 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
471 | SIZEOF(my_fdct_controller)); | 466 | SIZEOF(my_fdct_controller)); |
472 | cinfo->fdct = (struct jpeg_forward_dct *) fdct; | 467 | cinfo->fdct = &fdct->pub; |
473 | fdct->pub.start_pass = start_pass_fdctmgr; | 468 | fdct->pub.start_pass = start_pass_fdctmgr; |
474 | 469 | ||
475 | /* Mark divisor tables unallocated */ | 470 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; |
476 | for (i = 0; i < NUM_QUANT_TBLS; i++) { | 471 | ci++, compptr++) { |
477 | fdct->divisors[i] = NULL; | 472 | /* Allocate a divisor table for each component */ |
478 | #ifdef DCT_FLOAT_SUPPORTED | 473 | compptr->dct_table = |
479 | fdct->float_divisors[i] = NULL; | 474 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
480 | #endif | 475 | SIZEOF(divisor_table)); |
481 | } | 476 | } |
482 | } | 477 | } |
diff --git a/gs/jpeg/jchuff.c b/gs/jpeg/jchuff.c index 257d7aa1f..d1313f676 100644 --- a/gs/jpeg/jchuff.c +++ b/gs/jpeg/jchuff.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jchuff.c | 2 | * jchuff.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 2006-2009 by Guido Vollbeding. | 5 | * Modified 2006-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -308,24 +308,27 @@ emit_bits_s (working_state * state, unsigned int code, int size) | |||
308 | /* Emit some bits; return TRUE if successful, FALSE if must suspend */ | 308 | /* Emit some bits; return TRUE if successful, FALSE if must suspend */ |
309 | { | 309 | { |
310 | /* This routine is heavily used, so it's worth coding tightly. */ | 310 | /* This routine is heavily used, so it's worth coding tightly. */ |
311 | register INT32 put_buffer = (INT32) code; | 311 | register INT32 put_buffer; |
312 | register int put_bits = state->cur.put_bits; | 312 | register int put_bits; |
313 | 313 | ||
314 | /* if size is 0, caller used an invalid Huffman table entry */ | 314 | /* if size is 0, caller used an invalid Huffman table entry */ |
315 | if (size == 0) | 315 | if (size == 0) |
316 | ERREXIT(state->cinfo, JERR_HUFF_MISSING_CODE); | 316 | ERREXIT(state->cinfo, JERR_HUFF_MISSING_CODE); |
317 | 317 | ||
318 | put_buffer &= (((INT32) 1)<<size) - 1; /* mask off any extra bits in code */ | 318 | /* mask off any extra bits in code */ |
319 | 319 | put_buffer = ((INT32) code) & ((((INT32) 1) << size) - 1); | |
320 | put_bits += size; /* new number of bits in buffer */ | 320 | |
321 | 321 | /* new number of bits in buffer */ | |
322 | put_bits = size + state->cur.put_bits; | ||
323 | |||
322 | put_buffer <<= 24 - put_bits; /* align incoming bits */ | 324 | put_buffer <<= 24 - put_bits; /* align incoming bits */ |
323 | 325 | ||
324 | put_buffer |= state->cur.put_buffer; /* and merge with old buffer contents */ | 326 | /* and merge with old buffer contents */ |
325 | 327 | put_buffer |= state->cur.put_buffer; | |
328 | |||
326 | while (put_bits >= 8) { | 329 | while (put_bits >= 8) { |
327 | int c = (int) ((put_buffer >> 16) & 0xFF); | 330 | int c = (int) ((put_buffer >> 16) & 0xFF); |
328 | 331 | ||
329 | emit_byte_s(state, c, return FALSE); | 332 | emit_byte_s(state, c, return FALSE); |
330 | if (c == 0xFF) { /* need to stuff a zero byte? */ | 333 | if (c == 0xFF) { /* need to stuff a zero byte? */ |
331 | emit_byte_s(state, 0, return FALSE); | 334 | emit_byte_s(state, 0, return FALSE); |
@@ -347,8 +350,8 @@ emit_bits_e (huff_entropy_ptr entropy, unsigned int code, int size) | |||
347 | /* Emit some bits, unless we are in gather mode */ | 350 | /* Emit some bits, unless we are in gather mode */ |
348 | { | 351 | { |
349 | /* This routine is heavily used, so it's worth coding tightly. */ | 352 | /* This routine is heavily used, so it's worth coding tightly. */ |
350 | register INT32 put_buffer = (INT32) code; | 353 | register INT32 put_buffer; |
351 | register int put_bits = entropy->saved.put_bits; | 354 | register int put_bits; |
352 | 355 | ||
353 | /* if size is 0, caller used an invalid Huffman table entry */ | 356 | /* if size is 0, caller used an invalid Huffman table entry */ |
354 | if (size == 0) | 357 | if (size == 0) |
@@ -357,9 +360,11 @@ emit_bits_e (huff_entropy_ptr entropy, unsigned int code, int size) | |||
357 | if (entropy->gather_statistics) | 360 | if (entropy->gather_statistics) |
358 | return; /* do nothing if we're only getting stats */ | 361 | return; /* do nothing if we're only getting stats */ |
359 | 362 | ||
360 | put_buffer &= (((INT32) 1)<<size) - 1; /* mask off any extra bits in code */ | 363 | /* mask off any extra bits in code */ |
361 | 364 | put_buffer = ((INT32) code) & ((((INT32) 1) << size) - 1); | |
362 | put_bits += size; /* new number of bits in buffer */ | 365 | |
366 | /* new number of bits in buffer */ | ||
367 | put_bits = size + entropy->saved.put_bits; | ||
363 | 368 | ||
364 | put_buffer <<= 24 - put_bits; /* align incoming bits */ | 369 | put_buffer <<= 24 - put_bits; /* align incoming bits */ |
365 | 370 | ||
@@ -543,10 +548,7 @@ encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
543 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | 548 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; |
544 | register int temp, temp2; | 549 | register int temp, temp2; |
545 | register int nbits; | 550 | register int nbits; |
546 | int blkn, ci; | 551 | int blkn, ci, tbl; |
547 | int Al = cinfo->Al; | ||
548 | JBLOCKROW block; | ||
549 | jpeg_component_info * compptr; | ||
550 | ISHIFT_TEMPS | 552 | ISHIFT_TEMPS |
551 | 553 | ||
552 | entropy->next_output_byte = cinfo->dest->next_output_byte; | 554 | entropy->next_output_byte = cinfo->dest->next_output_byte; |
@@ -559,28 +561,27 @@ encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
559 | 561 | ||
560 | /* Encode the MCU data blocks */ | 562 | /* Encode the MCU data blocks */ |
561 | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { | 563 | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { |
562 | block = MCU_data[blkn]; | ||
563 | ci = cinfo->MCU_membership[blkn]; | 564 | ci = cinfo->MCU_membership[blkn]; |
564 | compptr = cinfo->cur_comp_info[ci]; | 565 | tbl = cinfo->cur_comp_info[ci]->dc_tbl_no; |
565 | 566 | ||
566 | /* Compute the DC value after the required point transform by Al. | 567 | /* Compute the DC value after the required point transform by Al. |
567 | * This is simply an arithmetic right shift. | 568 | * This is simply an arithmetic right shift. |
568 | */ | 569 | */ |
569 | temp2 = IRIGHT_SHIFT((int) ((*block)[0]), Al); | 570 | temp = IRIGHT_SHIFT((int) (MCU_data[blkn][0][0]), cinfo->Al); |
570 | 571 | ||
571 | /* DC differences are figured on the point-transformed values. */ | 572 | /* DC differences are figured on the point-transformed values. */ |
572 | temp = temp2 - entropy->saved.last_dc_val[ci]; | 573 | temp2 = temp - entropy->saved.last_dc_val[ci]; |
573 | entropy->saved.last_dc_val[ci] = temp2; | 574 | entropy->saved.last_dc_val[ci] = temp; |
574 | 575 | ||
575 | /* Encode the DC coefficient difference per section G.1.2.1 */ | 576 | /* Encode the DC coefficient difference per section G.1.2.1 */ |
576 | temp2 = temp; | 577 | temp = temp2; |
577 | if (temp < 0) { | 578 | if (temp < 0) { |
578 | temp = -temp; /* temp is abs value of input */ | 579 | temp = -temp; /* temp is abs value of input */ |
579 | /* For a negative input, want temp2 = bitwise complement of abs(input) */ | 580 | /* For a negative input, want temp2 = bitwise complement of abs(input) */ |
580 | /* This code assumes we are on a two's complement machine */ | 581 | /* This code assumes we are on a two's complement machine */ |
581 | temp2--; | 582 | temp2--; |
582 | } | 583 | } |
583 | 584 | ||
584 | /* Find the number of bits needed for the magnitude of the coefficient */ | 585 | /* Find the number of bits needed for the magnitude of the coefficient */ |
585 | nbits = 0; | 586 | nbits = 0; |
586 | while (temp) { | 587 | while (temp) { |
@@ -592,10 +593,10 @@ encode_mcu_DC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
592 | */ | 593 | */ |
593 | if (nbits > MAX_COEF_BITS+1) | 594 | if (nbits > MAX_COEF_BITS+1) |
594 | ERREXIT(cinfo, JERR_BAD_DCT_COEF); | 595 | ERREXIT(cinfo, JERR_BAD_DCT_COEF); |
595 | 596 | ||
596 | /* Count/emit the Huffman-coded symbol for the number of bits */ | 597 | /* Count/emit the Huffman-coded symbol for the number of bits */ |
597 | emit_dc_symbol(entropy, compptr->dc_tbl_no, nbits); | 598 | emit_dc_symbol(entropy, tbl, nbits); |
598 | 599 | ||
599 | /* Emit that number of bits of the value, if positive, */ | 600 | /* Emit that number of bits of the value, if positive, */ |
600 | /* or the complement of its magnitude, if negative. */ | 601 | /* or the complement of its magnitude, if negative. */ |
601 | if (nbits) /* emit_bits rejects calls with size 0 */ | 602 | if (nbits) /* emit_bits rejects calls with size 0 */ |
@@ -628,12 +629,12 @@ METHODDEF(boolean) | |||
628 | encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | 629 | encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) |
629 | { | 630 | { |
630 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | 631 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; |
632 | const int * natural_order; | ||
633 | JBLOCKROW block; | ||
631 | register int temp, temp2; | 634 | register int temp, temp2; |
632 | register int nbits; | 635 | register int nbits; |
633 | register int r, k; | 636 | register int r, k; |
634 | int Se, Al; | 637 | int Se, Al; |
635 | const int * natural_order; | ||
636 | JBLOCKROW block; | ||
637 | 638 | ||
638 | entropy->next_output_byte = cinfo->dest->next_output_byte; | 639 | entropy->next_output_byte = cinfo->dest->next_output_byte; |
639 | entropy->free_in_buffer = cinfo->dest->free_in_buffer; | 640 | entropy->free_in_buffer = cinfo->dest->free_in_buffer; |
@@ -731,18 +732,15 @@ encode_mcu_AC_first (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
731 | 732 | ||
732 | /* | 733 | /* |
733 | * MCU encoding for DC successive approximation refinement scan. | 734 | * MCU encoding for DC successive approximation refinement scan. |
734 | * Note: we assume such scans can be multi-component, although the spec | 735 | * Note: we assume such scans can be multi-component, |
735 | * is not very clear on the point. | 736 | * although the spec is not very clear on the point. |
736 | */ | 737 | */ |
737 | 738 | ||
738 | METHODDEF(boolean) | 739 | METHODDEF(boolean) |
739 | encode_mcu_DC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | 740 | encode_mcu_DC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) |
740 | { | 741 | { |
741 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | 742 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; |
742 | register int temp; | 743 | int Al, blkn; |
743 | int blkn; | ||
744 | int Al = cinfo->Al; | ||
745 | JBLOCKROW block; | ||
746 | 744 | ||
747 | entropy->next_output_byte = cinfo->dest->next_output_byte; | 745 | entropy->next_output_byte = cinfo->dest->next_output_byte; |
748 | entropy->free_in_buffer = cinfo->dest->free_in_buffer; | 746 | entropy->free_in_buffer = cinfo->dest->free_in_buffer; |
@@ -752,13 +750,12 @@ encode_mcu_DC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | |||
752 | if (entropy->restarts_to_go == 0) | 750 | if (entropy->restarts_to_go == 0) |
753 | emit_restart_e(entropy, entropy->next_restart_num); | 751 | emit_restart_e(entropy, entropy->next_restart_num); |
754 | 752 | ||
753 | Al = cinfo->Al; | ||
754 | |||
755 | /* Encode the MCU data blocks */ | 755 | /* Encode the MCU data blocks */ |
756 | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { | 756 | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { |
757 | block = MCU_data[blkn]; | ||
758 | |||
759 | /* We simply emit the Al'th bit of the DC coefficient value. */ | 757 | /* We simply emit the Al'th bit of the DC coefficient value. */ |
760 | temp = (*block)[0]; | 758 | emit_bits_e(entropy, (unsigned int) (MCU_data[blkn][0][0] >> Al), 1); |
761 | emit_bits_e(entropy, (unsigned int) (temp >> Al), 1); | ||
762 | } | 759 | } |
763 | 760 | ||
764 | cinfo->dest->next_output_byte = entropy->next_output_byte; | 761 | cinfo->dest->next_output_byte = entropy->next_output_byte; |
@@ -786,14 +783,14 @@ METHODDEF(boolean) | |||
786 | encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) | 783 | encode_mcu_AC_refine (j_compress_ptr cinfo, JBLOCKROW *MCU_data) |
787 | { | 784 | { |
788 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | 785 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; |
786 | const int * natural_order; | ||
787 | JBLOCKROW block; | ||
789 | register int temp; | 788 | register int temp; |
790 | register int r, k; | 789 | register int r, k; |
790 | int Se, Al; | ||
791 | int EOB; | 791 | int EOB; |
792 | char *BR_buffer; | 792 | char *BR_buffer; |
793 | unsigned int BR; | 793 | unsigned int BR; |
794 | int Se, Al; | ||
795 | const int * natural_order; | ||
796 | JBLOCKROW block; | ||
797 | int absvalues[DCTSIZE2]; | 794 | int absvalues[DCTSIZE2]; |
798 | 795 | ||
799 | entropy->next_output_byte = cinfo->dest->next_output_byte; | 796 | entropy->next_output_byte = cinfo->dest->next_output_byte; |
@@ -918,7 +915,7 @@ encode_one_block (working_state * state, JCOEFPTR block, int last_dc_val, | |||
918 | { | 915 | { |
919 | register int temp, temp2; | 916 | register int temp, temp2; |
920 | register int nbits; | 917 | register int nbits; |
921 | register int k, r, i; | 918 | register int r, k; |
922 | int Se = state->cinfo->lim_Se; | 919 | int Se = state->cinfo->lim_Se; |
923 | const int * natural_order = state->cinfo->natural_order; | 920 | const int * natural_order = state->cinfo->natural_order; |
924 | 921 | ||
@@ -960,7 +957,7 @@ encode_one_block (working_state * state, JCOEFPTR block, int last_dc_val, | |||
960 | r = 0; /* r = run length of zeros */ | 957 | r = 0; /* r = run length of zeros */ |
961 | 958 | ||
962 | for (k = 1; k <= Se; k++) { | 959 | for (k = 1; k <= Se; k++) { |
963 | if ((temp = block[natural_order[k]]) == 0) { | 960 | if ((temp2 = block[natural_order[k]]) == 0) { |
964 | r++; | 961 | r++; |
965 | } else { | 962 | } else { |
966 | /* if run length > 15, must emit special run-length-16 codes (0xF0) */ | 963 | /* if run length > 15, must emit special run-length-16 codes (0xF0) */ |
@@ -970,7 +967,7 @@ encode_one_block (working_state * state, JCOEFPTR block, int last_dc_val, | |||
970 | r -= 16; | 967 | r -= 16; |
971 | } | 968 | } |
972 | 969 | ||
973 | temp2 = temp; | 970 | temp = temp2; |
974 | if (temp < 0) { | 971 | if (temp < 0) { |
975 | temp = -temp; /* temp is abs value of input */ | 972 | temp = -temp; /* temp is abs value of input */ |
976 | /* This code assumes we are on a two's complement machine */ | 973 | /* This code assumes we are on a two's complement machine */ |
@@ -986,8 +983,8 @@ encode_one_block (working_state * state, JCOEFPTR block, int last_dc_val, | |||
986 | ERREXIT(state->cinfo, JERR_BAD_DCT_COEF); | 983 | ERREXIT(state->cinfo, JERR_BAD_DCT_COEF); |
987 | 984 | ||
988 | /* Emit Huffman symbol for run length / number of bits */ | 985 | /* Emit Huffman symbol for run length / number of bits */ |
989 | i = (r << 4) + nbits; | 986 | temp = (r << 4) + nbits; |
990 | if (! emit_bits_s(state, actbl->ehufco[i], actbl->ehufsi[i])) | 987 | if (! emit_bits_s(state, actbl->ehufco[temp], actbl->ehufsi[temp])) |
991 | return FALSE; | 988 | return FALSE; |
992 | 989 | ||
993 | /* Emit that number of bits of the value, if positive, */ | 990 | /* Emit that number of bits of the value, if positive, */ |
@@ -1124,16 +1121,16 @@ htest_one_block (j_compress_ptr cinfo, JCOEFPTR block, int last_dc_val, | |||
1124 | { | 1121 | { |
1125 | register int temp; | 1122 | register int temp; |
1126 | register int nbits; | 1123 | register int nbits; |
1127 | register int k, r; | 1124 | register int r, k; |
1128 | int Se = cinfo->lim_Se; | 1125 | int Se = cinfo->lim_Se; |
1129 | const int * natural_order = cinfo->natural_order; | 1126 | const int * natural_order = cinfo->natural_order; |
1130 | 1127 | ||
1131 | /* Encode the DC coefficient difference per section F.1.2.1 */ | 1128 | /* Encode the DC coefficient difference per section F.1.2.1 */ |
1132 | 1129 | ||
1133 | temp = block[0] - last_dc_val; | 1130 | temp = block[0] - last_dc_val; |
1134 | if (temp < 0) | 1131 | if (temp < 0) |
1135 | temp = -temp; | 1132 | temp = -temp; |
1136 | 1133 | ||
1137 | /* Find the number of bits needed for the magnitude of the coefficient */ | 1134 | /* Find the number of bits needed for the magnitude of the coefficient */ |
1138 | nbits = 0; | 1135 | nbits = 0; |
1139 | while (temp) { | 1136 | while (temp) { |
@@ -1148,11 +1145,11 @@ htest_one_block (j_compress_ptr cinfo, JCOEFPTR block, int last_dc_val, | |||
1148 | 1145 | ||
1149 | /* Count the Huffman symbol for the number of bits */ | 1146 | /* Count the Huffman symbol for the number of bits */ |
1150 | dc_counts[nbits]++; | 1147 | dc_counts[nbits]++; |
1151 | 1148 | ||
1152 | /* Encode the AC coefficients per section F.1.2.2 */ | 1149 | /* Encode the AC coefficients per section F.1.2.2 */ |
1153 | 1150 | ||
1154 | r = 0; /* r = run length of zeros */ | 1151 | r = 0; /* r = run length of zeros */ |
1155 | 1152 | ||
1156 | for (k = 1; k <= Se; k++) { | 1153 | for (k = 1; k <= Se; k++) { |
1157 | if ((temp = block[natural_order[k]]) == 0) { | 1154 | if ((temp = block[natural_order[k]]) == 0) { |
1158 | r++; | 1155 | r++; |
@@ -1162,11 +1159,11 @@ htest_one_block (j_compress_ptr cinfo, JCOEFPTR block, int last_dc_val, | |||
1162 | ac_counts[0xF0]++; | 1159 | ac_counts[0xF0]++; |
1163 | r -= 16; | 1160 | r -= 16; |
1164 | } | 1161 | } |
1165 | 1162 | ||
1166 | /* Find the number of bits needed for the magnitude of the coefficient */ | 1163 | /* Find the number of bits needed for the magnitude of the coefficient */ |
1167 | if (temp < 0) | 1164 | if (temp < 0) |
1168 | temp = -temp; | 1165 | temp = -temp; |
1169 | 1166 | ||
1170 | /* Find the number of bits needed for the magnitude of the coefficient */ | 1167 | /* Find the number of bits needed for the magnitude of the coefficient */ |
1171 | nbits = 1; /* there must be at least one 1 bit */ | 1168 | nbits = 1; /* there must be at least one 1 bit */ |
1172 | while ((temp >>= 1)) | 1169 | while ((temp >>= 1)) |
@@ -1174,10 +1171,10 @@ htest_one_block (j_compress_ptr cinfo, JCOEFPTR block, int last_dc_val, | |||
1174 | /* Check for out-of-range coefficient values */ | 1171 | /* Check for out-of-range coefficient values */ |
1175 | if (nbits > MAX_COEF_BITS) | 1172 | if (nbits > MAX_COEF_BITS) |
1176 | ERREXIT(cinfo, JERR_BAD_DCT_COEF); | 1173 | ERREXIT(cinfo, JERR_BAD_DCT_COEF); |
1177 | 1174 | ||
1178 | /* Count Huffman symbol for run length / number of bits */ | 1175 | /* Count Huffman symbol for run length / number of bits */ |
1179 | ac_counts[(r << 4) + nbits]++; | 1176 | ac_counts[(r << 4) + nbits]++; |
1180 | 1177 | ||
1181 | r = 0; | 1178 | r = 0; |
1182 | } | 1179 | } |
1183 | } | 1180 | } |
@@ -1562,7 +1559,7 @@ jinit_huff_encoder (j_compress_ptr cinfo) | |||
1562 | entropy = (huff_entropy_ptr) | 1559 | entropy = (huff_entropy_ptr) |
1563 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 1560 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
1564 | SIZEOF(huff_entropy_encoder)); | 1561 | SIZEOF(huff_entropy_encoder)); |
1565 | cinfo->entropy = (struct jpeg_entropy_encoder *) entropy; | 1562 | cinfo->entropy = &entropy->pub; |
1566 | entropy->pub.start_pass = start_pass_huff; | 1563 | entropy->pub.start_pass = start_pass_huff; |
1567 | 1564 | ||
1568 | /* Mark tables unallocated */ | 1565 | /* Mark tables unallocated */ |
diff --git a/gs/jpeg/jcinit.c b/gs/jpeg/jcinit.c index 0ba310f21..1e13e3462 100644 --- a/gs/jpeg/jcinit.c +++ b/gs/jpeg/jcinit.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * jcinit.c | 2 | * jcinit.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 2003-2013 by Guido Vollbeding. | ||
5 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 8 | * |
@@ -29,6 +30,24 @@ | |||
29 | GLOBAL(void) | 30 | GLOBAL(void) |
30 | jinit_compress_master (j_compress_ptr cinfo) | 31 | jinit_compress_master (j_compress_ptr cinfo) |
31 | { | 32 | { |
33 | long samplesperrow; | ||
34 | JDIMENSION jd_samplesperrow; | ||
35 | |||
36 | /* For now, precision must match compiled-in value... */ | ||
37 | if (cinfo->data_precision != BITS_IN_JSAMPLE) | ||
38 | ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision); | ||
39 | |||
40 | /* Sanity check on image dimensions */ | ||
41 | if (cinfo->image_height <= 0 || cinfo->image_width <= 0 || | ||
42 | cinfo->input_components <= 0) | ||
43 | ERREXIT(cinfo, JERR_EMPTY_IMAGE); | ||
44 | |||
45 | /* Width of an input scanline must be representable as JDIMENSION. */ | ||
46 | samplesperrow = (long) cinfo->image_width * (long) cinfo->input_components; | ||
47 | jd_samplesperrow = (JDIMENSION) samplesperrow; | ||
48 | if ((long) jd_samplesperrow != samplesperrow) | ||
49 | ERREXIT(cinfo, JERR_WIDTH_OVERFLOW); | ||
50 | |||
32 | /* Initialize master control (includes parameter checking/processing) */ | 51 | /* Initialize master control (includes parameter checking/processing) */ |
33 | jinit_c_master_control(cinfo, FALSE /* full compression */); | 52 | jinit_c_master_control(cinfo, FALSE /* full compression */); |
34 | 53 | ||
diff --git a/gs/jpeg/jcmainct.c b/gs/jpeg/jcmainct.c index 7de75d167..39b97902e 100644 --- a/gs/jpeg/jcmainct.c +++ b/gs/jpeg/jcmainct.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * jcmainct.c | 2 | * jcmainct.c |
3 | * | 3 | * |
4 | * Copyright (C) 1994-1996, Thomas G. Lane. | 4 | * Copyright (C) 1994-1996, Thomas G. Lane. |
5 | * Modified 2003-2012 by Guido Vollbeding. | ||
5 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 8 | * |
@@ -68,32 +69,32 @@ METHODDEF(void) process_data_buffer_main | |||
68 | METHODDEF(void) | 69 | METHODDEF(void) |
69 | start_pass_main (j_compress_ptr cinfo, J_BUF_MODE pass_mode) | 70 | start_pass_main (j_compress_ptr cinfo, J_BUF_MODE pass_mode) |
70 | { | 71 | { |
71 | my_main_ptr main = (my_main_ptr) cinfo->main; | 72 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
72 | 73 | ||
73 | /* Do nothing in raw-data mode. */ | 74 | /* Do nothing in raw-data mode. */ |
74 | if (cinfo->raw_data_in) | 75 | if (cinfo->raw_data_in) |
75 | return; | 76 | return; |
76 | 77 | ||
77 | main->cur_iMCU_row = 0; /* initialize counters */ | 78 | mainp->cur_iMCU_row = 0; /* initialize counters */ |
78 | main->rowgroup_ctr = 0; | 79 | mainp->rowgroup_ctr = 0; |
79 | main->suspended = FALSE; | 80 | mainp->suspended = FALSE; |
80 | main->pass_mode = pass_mode; /* save mode for use by process_data */ | 81 | mainp->pass_mode = pass_mode; /* save mode for use by process_data */ |
81 | 82 | ||
82 | switch (pass_mode) { | 83 | switch (pass_mode) { |
83 | case JBUF_PASS_THRU: | 84 | case JBUF_PASS_THRU: |
84 | #ifdef FULL_MAIN_BUFFER_SUPPORTED | 85 | #ifdef FULL_MAIN_BUFFER_SUPPORTED |
85 | if (main->whole_image[0] != NULL) | 86 | if (mainp->whole_image[0] != NULL) |
86 | ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); | 87 | ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); |
87 | #endif | 88 | #endif |
88 | main->pub.process_data = process_data_simple_main; | 89 | mainp->pub.process_data = process_data_simple_main; |
89 | break; | 90 | break; |
90 | #ifdef FULL_MAIN_BUFFER_SUPPORTED | 91 | #ifdef FULL_MAIN_BUFFER_SUPPORTED |
91 | case JBUF_SAVE_SOURCE: | 92 | case JBUF_SAVE_SOURCE: |
92 | case JBUF_CRANK_DEST: | 93 | case JBUF_CRANK_DEST: |
93 | case JBUF_SAVE_AND_PASS: | 94 | case JBUF_SAVE_AND_PASS: |
94 | if (main->whole_image[0] == NULL) | 95 | if (mainp->whole_image[0] == NULL) |
95 | ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); | 96 | ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); |
96 | main->pub.process_data = process_data_buffer_main; | 97 | mainp->pub.process_data = process_data_buffer_main; |
97 | break; | 98 | break; |
98 | #endif | 99 | #endif |
99 | default: | 100 | default: |
@@ -114,46 +115,46 @@ process_data_simple_main (j_compress_ptr cinfo, | |||
114 | JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, | 115 | JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, |
115 | JDIMENSION in_rows_avail) | 116 | JDIMENSION in_rows_avail) |
116 | { | 117 | { |
117 | my_main_ptr main = (my_main_ptr) cinfo->main; | 118 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
118 | 119 | ||
119 | while (main->cur_iMCU_row < cinfo->total_iMCU_rows) { | 120 | while (mainp->cur_iMCU_row < cinfo->total_iMCU_rows) { |
120 | /* Read input data if we haven't filled the main buffer yet */ | 121 | /* Read input data if we haven't filled the main buffer yet */ |
121 | if (main->rowgroup_ctr < (JDIMENSION) cinfo->min_DCT_v_scaled_size) | 122 | if (mainp->rowgroup_ctr < (JDIMENSION) cinfo->min_DCT_v_scaled_size) |
122 | (*cinfo->prep->pre_process_data) (cinfo, | 123 | (*cinfo->prep->pre_process_data) (cinfo, |
123 | input_buf, in_row_ctr, in_rows_avail, | 124 | input_buf, in_row_ctr, in_rows_avail, |
124 | main->buffer, &main->rowgroup_ctr, | 125 | mainp->buffer, &mainp->rowgroup_ctr, |
125 | (JDIMENSION) cinfo->min_DCT_v_scaled_size); | 126 | (JDIMENSION) cinfo->min_DCT_v_scaled_size); |
126 | 127 | ||
127 | /* If we don't have a full iMCU row buffered, return to application for | 128 | /* If we don't have a full iMCU row buffered, return to application for |
128 | * more data. Note that preprocessor will always pad to fill the iMCU row | 129 | * more data. Note that preprocessor will always pad to fill the iMCU row |
129 | * at the bottom of the image. | 130 | * at the bottom of the image. |
130 | */ | 131 | */ |
131 | if (main->rowgroup_ctr != (JDIMENSION) cinfo->min_DCT_v_scaled_size) | 132 | if (mainp->rowgroup_ctr != (JDIMENSION) cinfo->min_DCT_v_scaled_size) |
132 | return; | 133 | return; |
133 | 134 | ||
134 | /* Send the completed row to the compressor */ | 135 | /* Send the completed row to the compressor */ |
135 | if (! (*cinfo->coef->compress_data) (cinfo, main->buffer)) { | 136 | if (! (*cinfo->coef->compress_data) (cinfo, mainp->buffer)) { |
136 | /* If compressor did not consume the whole row, then we must need to | 137 | /* If compressor did not consume the whole row, then we must need to |
137 | * suspend processing and return to the application. In this situation | 138 | * suspend processing and return to the application. In this situation |
138 | * we pretend we didn't yet consume the last input row; otherwise, if | 139 | * we pretend we didn't yet consume the last input row; otherwise, if |
139 | * it happened to be the last row of the image, the application would | 140 | * it happened to be the last row of the image, the application would |
140 | * think we were done. | 141 | * think we were done. |
141 | */ | 142 | */ |
142 | if (! main->suspended) { | 143 | if (! mainp->suspended) { |
143 | (*in_row_ctr)--; | 144 | (*in_row_ctr)--; |
144 | main->suspended = TRUE; | 145 | mainp->suspended = TRUE; |
145 | } | 146 | } |
146 | return; | 147 | return; |
147 | } | 148 | } |
148 | /* We did finish the row. Undo our little suspension hack if a previous | 149 | /* We did finish the row. Undo our little suspension hack if a previous |
149 | * call suspended; then mark the main buffer empty. | 150 | * call suspended; then mark the main buffer empty. |
150 | */ | 151 | */ |
151 | if (main->suspended) { | 152 | if (mainp->suspended) { |
152 | (*in_row_ctr)++; | 153 | (*in_row_ctr)++; |
153 | main->suspended = FALSE; | 154 | mainp->suspended = FALSE; |
154 | } | 155 | } |
155 | main->rowgroup_ctr = 0; | 156 | mainp->rowgroup_ctr = 0; |
156 | main->cur_iMCU_row++; | 157 | mainp->cur_iMCU_row++; |
157 | } | 158 | } |
158 | } | 159 | } |
159 | 160 | ||
@@ -170,25 +171,27 @@ process_data_buffer_main (j_compress_ptr cinfo, | |||
170 | JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, | 171 | JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, |
171 | JDIMENSION in_rows_avail) | 172 | JDIMENSION in_rows_avail) |
172 | { | 173 | { |
173 | my_main_ptr main = (my_main_ptr) cinfo->main; | 174 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
174 | int ci; | 175 | int ci; |
175 | jpeg_component_info *compptr; | 176 | jpeg_component_info *compptr; |
176 | boolean writing = (main->pass_mode != JBUF_CRANK_DEST); | 177 | boolean writing = (mainp->pass_mode != JBUF_CRANK_DEST); |
177 | 178 | ||
178 | while (main->cur_iMCU_row < cinfo->total_iMCU_rows) { | 179 | while (mainp->cur_iMCU_row < cinfo->total_iMCU_rows) { |
179 | /* Realign the virtual buffers if at the start of an iMCU row. */ | 180 | /* Realign the virtual buffers if at the start of an iMCU row. */ |
180 | if (main->rowgroup_ctr == 0) { | 181 | if (mainp->rowgroup_ctr == 0) { |
181 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; | 182 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; |
182 | ci++, compptr++) { | 183 | ci++, compptr++) { |
183 | main->buffer[ci] = (*cinfo->mem->access_virt_sarray) | 184 | mainp->buffer[ci] = (*cinfo->mem->access_virt_sarray) |
184 | ((j_common_ptr) cinfo, main->whole_image[ci], | 185 | ((j_common_ptr) cinfo, mainp->whole_image[ci], mainp->cur_iMCU_row * |
185 | main->cur_iMCU_row * (compptr->v_samp_factor * DCTSIZE), | 186 | ((JDIMENSION) (compptr->v_samp_factor * cinfo->min_DCT_v_scaled_size)), |
186 | (JDIMENSION) (compptr->v_samp_factor * DCTSIZE), writing); | 187 | (JDIMENSION) (compptr->v_samp_factor * cinfo->min_DCT_v_scaled_size), |
188 | writing); | ||
187 | } | 189 | } |
188 | /* In a read pass, pretend we just read some source data. */ | 190 | /* In a read pass, pretend we just read some source data. */ |
189 | if (! writing) { | 191 | if (! writing) { |
190 | *in_row_ctr += cinfo->max_v_samp_factor * DCTSIZE; | 192 | *in_row_ctr += (JDIMENSION) |
191 | main->rowgroup_ctr = DCTSIZE; | 193 | (cinfo->max_v_samp_factor * cinfo->min_DCT_v_scaled_size); |
194 | mainp->rowgroup_ctr = (JDIMENSION) cinfo->min_DCT_v_scaled_size; | ||
192 | } | 195 | } |
193 | } | 196 | } |
194 | 197 | ||
@@ -197,40 +200,40 @@ process_data_buffer_main (j_compress_ptr cinfo, | |||
197 | if (writing) { | 200 | if (writing) { |
198 | (*cinfo->prep->pre_process_data) (cinfo, | 201 | (*cinfo->prep->pre_process_data) (cinfo, |
199 | input_buf, in_row_ctr, in_rows_avail, | 202 | input_buf, in_row_ctr, in_rows_avail, |
200 | main->buffer, &main->rowgroup_ctr, | 203 | mainp->buffer, &mainp->rowgroup_ctr, |
201 | (JDIMENSION) DCTSIZE); | 204 | (JDIMENSION) cinfo->min_DCT_v_scaled_size); |
202 | /* Return to application if we need more data to fill the iMCU row. */ | 205 | /* Return to application if we need more data to fill the iMCU row. */ |
203 | if (main->rowgroup_ctr < DCTSIZE) | 206 | if (mainp->rowgroup_ctr < (JDIMENSION) cinfo->min_DCT_v_scaled_size) |
204 | return; | 207 | return; |
205 | } | 208 | } |
206 | 209 | ||
207 | /* Emit data, unless this is a sink-only pass. */ | 210 | /* Emit data, unless this is a sink-only pass. */ |
208 | if (main->pass_mode != JBUF_SAVE_SOURCE) { | 211 | if (mainp->pass_mode != JBUF_SAVE_SOURCE) { |
209 | if (! (*cinfo->coef->compress_data) (cinfo, main->buffer)) { | 212 | if (! (*cinfo->coef->compress_data) (cinfo, mainp->buffer)) { |
210 | /* If compressor did not consume the whole row, then we must need to | 213 | /* If compressor did not consume the whole row, then we must need to |
211 | * suspend processing and return to the application. In this situation | 214 | * suspend processing and return to the application. In this situation |
212 | * we pretend we didn't yet consume the last input row; otherwise, if | 215 | * we pretend we didn't yet consume the last input row; otherwise, if |
213 | * it happened to be the last row of the image, the application would | 216 | * it happened to be the last row of the image, the application would |
214 | * think we were done. | 217 | * think we were done. |
215 | */ | 218 | */ |
216 | if (! main->suspended) { | 219 | if (! mainp->suspended) { |
217 | (*in_row_ctr)--; | 220 | (*in_row_ctr)--; |
218 | main->suspended = TRUE; | 221 | mainp->suspended = TRUE; |
219 | } | 222 | } |
220 | return; | 223 | return; |
221 | } | 224 | } |
222 | /* We did finish the row. Undo our little suspension hack if a previous | 225 | /* We did finish the row. Undo our little suspension hack if a previous |
223 | * call suspended; then mark the main buffer empty. | 226 | * call suspended; then mark the main buffer empty. |
224 | */ | 227 | */ |
225 | if (main->suspended) { | 228 | if (mainp->suspended) { |
226 | (*in_row_ctr)++; | 229 | (*in_row_ctr)++; |
227 | main->suspended = FALSE; | 230 | mainp->suspended = FALSE; |
228 | } | 231 | } |
229 | } | 232 | } |
230 | 233 | ||
231 | /* If get here, we are done with this iMCU row. Mark buffer empty. */ | 234 | /* If get here, we are done with this iMCU row. Mark buffer empty. */ |
232 | main->rowgroup_ctr = 0; | 235 | mainp->rowgroup_ctr = 0; |
233 | main->cur_iMCU_row++; | 236 | mainp->cur_iMCU_row++; |
234 | } | 237 | } |
235 | } | 238 | } |
236 | 239 | ||
@@ -244,15 +247,15 @@ process_data_buffer_main (j_compress_ptr cinfo, | |||
244 | GLOBAL(void) | 247 | GLOBAL(void) |
245 | jinit_c_main_controller (j_compress_ptr cinfo, boolean need_full_buffer) | 248 | jinit_c_main_controller (j_compress_ptr cinfo, boolean need_full_buffer) |
246 | { | 249 | { |
247 | my_main_ptr main; | 250 | my_main_ptr mainp; |
248 | int ci; | 251 | int ci; |
249 | jpeg_component_info *compptr; | 252 | jpeg_component_info *compptr; |
250 | 253 | ||
251 | main = (my_main_ptr) | 254 | mainp = (my_main_ptr) |
252 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 255 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
253 | SIZEOF(my_main_controller)); | 256 | SIZEOF(my_main_controller)); |
254 | cinfo->main = (struct jpeg_c_main_controller *) main; | 257 | cinfo->main = &mainp->pub; |
255 | main->pub.start_pass = start_pass_main; | 258 | mainp->pub.start_pass = start_pass_main; |
256 | 259 | ||
257 | /* We don't need to create a buffer in raw-data mode. */ | 260 | /* We don't need to create a buffer in raw-data mode. */ |
258 | if (cinfo->raw_data_in) | 261 | if (cinfo->raw_data_in) |
@@ -267,11 +270,12 @@ jinit_c_main_controller (j_compress_ptr cinfo, boolean need_full_buffer) | |||
267 | /* Note we pad the bottom to a multiple of the iMCU height */ | 270 | /* Note we pad the bottom to a multiple of the iMCU height */ |
268 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; | 271 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; |
269 | ci++, compptr++) { | 272 | ci++, compptr++) { |
270 | main->whole_image[ci] = (*cinfo->mem->request_virt_sarray) | 273 | mainp->whole_image[ci] = (*cinfo->mem->request_virt_sarray) |
271 | ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, | 274 | ((j_common_ptr) cinfo, JPOOL_IMAGE, FALSE, |
272 | compptr->width_in_blocks * compptr->DCT_h_scaled_size, | 275 | compptr->width_in_blocks * ((JDIMENSION) compptr->DCT_h_scaled_size), |
273 | (JDIMENSION) jround_up((long) compptr->height_in_blocks, | 276 | ((JDIMENSION) jround_up((long) compptr->height_in_blocks, |
274 | (long) compptr->v_samp_factor) * DCTSIZE, | 277 | (long) compptr->v_samp_factor)) * |
278 | ((JDIMENSION) cinfo->min_DCT_v_scaled_size), | ||
275 | (JDIMENSION) (compptr->v_samp_factor * compptr->DCT_v_scaled_size)); | 279 | (JDIMENSION) (compptr->v_samp_factor * compptr->DCT_v_scaled_size)); |
276 | } | 280 | } |
277 | #else | 281 | #else |
@@ -279,14 +283,14 @@ jinit_c_main_controller (j_compress_ptr cinfo, boolean need_full_buffer) | |||
279 | #endif | 283 | #endif |
280 | } else { | 284 | } else { |
281 | #ifdef FULL_MAIN_BUFFER_SUPPORTED | 285 | #ifdef FULL_MAIN_BUFFER_SUPPORTED |
282 | main->whole_image[0] = NULL; /* flag for no virtual arrays */ | 286 | mainp->whole_image[0] = NULL; /* flag for no virtual arrays */ |
283 | #endif | 287 | #endif |
284 | /* Allocate a strip buffer for each component */ | 288 | /* Allocate a strip buffer for each component */ |
285 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; | 289 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; |
286 | ci++, compptr++) { | 290 | ci++, compptr++) { |
287 | main->buffer[ci] = (*cinfo->mem->alloc_sarray) | 291 | mainp->buffer[ci] = (*cinfo->mem->alloc_sarray) |
288 | ((j_common_ptr) cinfo, JPOOL_IMAGE, | 292 | ((j_common_ptr) cinfo, JPOOL_IMAGE, |
289 | compptr->width_in_blocks * compptr->DCT_h_scaled_size, | 293 | compptr->width_in_blocks * ((JDIMENSION) compptr->DCT_h_scaled_size), |
290 | (JDIMENSION) (compptr->v_samp_factor * compptr->DCT_v_scaled_size)); | 294 | (JDIMENSION) (compptr->v_samp_factor * compptr->DCT_v_scaled_size)); |
291 | } | 295 | } |
292 | } | 296 | } |
diff --git a/gs/jpeg/jcmarker.c b/gs/jpeg/jcmarker.c index 606c19af3..ca2bb3992 100644 --- a/gs/jpeg/jcmarker.c +++ b/gs/jpeg/jcmarker.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jcmarker.c | 2 | * jcmarker.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1998, Thomas G. Lane. | 4 | * Copyright (C) 1991-1998, Thomas G. Lane. |
5 | * Modified 2003-2010 by Guido Vollbeding. | 5 | * Modified 2003-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -19,24 +19,24 @@ typedef enum { /* JPEG marker codes */ | |||
19 | M_SOF1 = 0xc1, | 19 | M_SOF1 = 0xc1, |
20 | M_SOF2 = 0xc2, | 20 | M_SOF2 = 0xc2, |
21 | M_SOF3 = 0xc3, | 21 | M_SOF3 = 0xc3, |
22 | 22 | ||
23 | M_SOF5 = 0xc5, | 23 | M_SOF5 = 0xc5, |
24 | M_SOF6 = 0xc6, | 24 | M_SOF6 = 0xc6, |
25 | M_SOF7 = 0xc7, | 25 | M_SOF7 = 0xc7, |
26 | 26 | ||
27 | M_JPG = 0xc8, | 27 | M_JPG = 0xc8, |
28 | M_SOF9 = 0xc9, | 28 | M_SOF9 = 0xc9, |
29 | M_SOF10 = 0xca, | 29 | M_SOF10 = 0xca, |
30 | M_SOF11 = 0xcb, | 30 | M_SOF11 = 0xcb, |
31 | 31 | ||
32 | M_SOF13 = 0xcd, | 32 | M_SOF13 = 0xcd, |
33 | M_SOF14 = 0xce, | 33 | M_SOF14 = 0xce, |
34 | M_SOF15 = 0xcf, | 34 | M_SOF15 = 0xcf, |
35 | 35 | ||
36 | M_DHT = 0xc4, | 36 | M_DHT = 0xc4, |
37 | 37 | ||
38 | M_DAC = 0xcc, | 38 | M_DAC = 0xcc, |
39 | 39 | ||
40 | M_RST0 = 0xd0, | 40 | M_RST0 = 0xd0, |
41 | M_RST1 = 0xd1, | 41 | M_RST1 = 0xd1, |
42 | M_RST2 = 0xd2, | 42 | M_RST2 = 0xd2, |
@@ -45,7 +45,7 @@ typedef enum { /* JPEG marker codes */ | |||
45 | M_RST5 = 0xd5, | 45 | M_RST5 = 0xd5, |
46 | M_RST6 = 0xd6, | 46 | M_RST6 = 0xd6, |
47 | M_RST7 = 0xd7, | 47 | M_RST7 = 0xd7, |
48 | 48 | ||
49 | M_SOI = 0xd8, | 49 | M_SOI = 0xd8, |
50 | M_EOI = 0xd9, | 50 | M_EOI = 0xd9, |
51 | M_SOS = 0xda, | 51 | M_SOS = 0xda, |
@@ -54,7 +54,7 @@ typedef enum { /* JPEG marker codes */ | |||
54 | M_DRI = 0xdd, | 54 | M_DRI = 0xdd, |
55 | M_DHP = 0xde, | 55 | M_DHP = 0xde, |
56 | M_EXP = 0xdf, | 56 | M_EXP = 0xdf, |
57 | 57 | ||
58 | M_APP0 = 0xe0, | 58 | M_APP0 = 0xe0, |
59 | M_APP1 = 0xe1, | 59 | M_APP1 = 0xe1, |
60 | M_APP2 = 0xe2, | 60 | M_APP2 = 0xe2, |
@@ -71,13 +71,14 @@ typedef enum { /* JPEG marker codes */ | |||
71 | M_APP13 = 0xed, | 71 | M_APP13 = 0xed, |
72 | M_APP14 = 0xee, | 72 | M_APP14 = 0xee, |
73 | M_APP15 = 0xef, | 73 | M_APP15 = 0xef, |
74 | 74 | ||
75 | M_JPG0 = 0xf0, | 75 | M_JPG0 = 0xf0, |
76 | M_JPG8 = 0xf8, | ||
76 | M_JPG13 = 0xfd, | 77 | M_JPG13 = 0xfd, |
77 | M_COM = 0xfe, | 78 | M_COM = 0xfe, |
78 | 79 | ||
79 | M_TEM = 0x01, | 80 | M_TEM = 0x01, |
80 | 81 | ||
81 | M_ERROR = 0x100 | 82 | M_ERROR = 0x100 |
82 | } JPEG_MARKER; | 83 | } JPEG_MARKER; |
83 | 84 | ||
@@ -282,6 +283,37 @@ emit_dri (j_compress_ptr cinfo) | |||
282 | 283 | ||
283 | 284 | ||
284 | LOCAL(void) | 285 | LOCAL(void) |
286 | emit_lse_ict (j_compress_ptr cinfo) | ||
287 | /* Emit an LSE inverse color transform specification marker */ | ||
288 | { | ||
289 | /* Support only 1 transform */ | ||
290 | if (cinfo->color_transform != JCT_SUBTRACT_GREEN || | ||
291 | cinfo->num_components < 3) | ||
292 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
293 | |||
294 | emit_marker(cinfo, M_JPG8); | ||
295 | |||
296 | emit_2bytes(cinfo, 24); /* fixed length */ | ||
297 | |||
298 | emit_byte(cinfo, 0x0D); /* ID inverse transform specification */ | ||
299 | emit_2bytes(cinfo, MAXJSAMPLE); /* MAXTRANS */ | ||
300 | emit_byte(cinfo, 3); /* Nt=3 */ | ||
301 | emit_byte(cinfo, cinfo->comp_info[1].component_id); | ||
302 | emit_byte(cinfo, cinfo->comp_info[0].component_id); | ||
303 | emit_byte(cinfo, cinfo->comp_info[2].component_id); | ||
304 | emit_byte(cinfo, 0x80); /* F1: CENTER1=1, NORM1=0 */ | ||
305 | emit_2bytes(cinfo, 0); /* A(1,1)=0 */ | ||
306 | emit_2bytes(cinfo, 0); /* A(1,2)=0 */ | ||
307 | emit_byte(cinfo, 0); /* F2: CENTER2=0, NORM2=0 */ | ||
308 | emit_2bytes(cinfo, 1); /* A(2,1)=1 */ | ||
309 | emit_2bytes(cinfo, 0); /* A(2,2)=0 */ | ||
310 | emit_byte(cinfo, 0); /* F3: CENTER3=0, NORM3=0 */ | ||
311 | emit_2bytes(cinfo, 1); /* A(3,1)=1 */ | ||
312 | emit_2bytes(cinfo, 0); /* A(3,2)=0 */ | ||
313 | } | ||
314 | |||
315 | |||
316 | LOCAL(void) | ||
285 | emit_sof (j_compress_ptr cinfo, JPEG_MARKER code) | 317 | emit_sof (j_compress_ptr cinfo, JPEG_MARKER code) |
286 | /* Emit a SOF marker */ | 318 | /* Emit a SOF marker */ |
287 | { | 319 | { |
@@ -476,8 +508,8 @@ write_marker_byte (j_compress_ptr cinfo, int val) | |||
476 | * Write datastream header. | 508 | * Write datastream header. |
477 | * This consists of an SOI and optional APPn markers. | 509 | * This consists of an SOI and optional APPn markers. |
478 | * We recommend use of the JFIF marker, but not the Adobe marker, | 510 | * We recommend use of the JFIF marker, but not the Adobe marker, |
479 | * when using YCbCr or grayscale data. The JFIF marker should NOT | 511 | * when using YCbCr or grayscale data. The JFIF marker is also used |
480 | * be used for any other JPEG colorspace. The Adobe marker is helpful | 512 | * for other standard JPEG colorspaces. The Adobe marker is helpful |
481 | * to distinguish RGB, CMYK, and YCCK colorspaces. | 513 | * to distinguish RGB, CMYK, and YCCK colorspaces. |
482 | * Note that an application can write additional header markers after | 514 | * Note that an application can write additional header markers after |
483 | * jpeg_start_compress returns. | 515 | * jpeg_start_compress returns. |
@@ -502,7 +534,8 @@ write_file_header (j_compress_ptr cinfo) | |||
502 | 534 | ||
503 | /* | 535 | /* |
504 | * Write frame header. | 536 | * Write frame header. |
505 | * This consists of DQT and SOFn markers, and a conditional pseudo SOS marker. | 537 | * This consists of DQT and SOFn markers, |
538 | * a conditional LSE marker and a conditional pseudo SOS marker. | ||
506 | * Note that we do not emit the SOF until we have emitted the DQT(s). | 539 | * Note that we do not emit the SOF until we have emitted the DQT(s). |
507 | * This avoids compatibility problems with incorrect implementations that | 540 | * This avoids compatibility problems with incorrect implementations that |
508 | * try to error-check the quant table numbers as soon as they see the SOF. | 541 | * try to error-check the quant table numbers as soon as they see the SOF. |
@@ -560,6 +593,10 @@ write_frame_header (j_compress_ptr cinfo) | |||
560 | emit_sof(cinfo, M_SOF1); /* SOF code for non-baseline Huffman file */ | 593 | emit_sof(cinfo, M_SOF1); /* SOF code for non-baseline Huffman file */ |
561 | } | 594 | } |
562 | 595 | ||
596 | /* Check to emit LSE inverse color transform specification marker */ | ||
597 | if (cinfo->color_transform) | ||
598 | emit_lse_ict(cinfo); | ||
599 | |||
563 | /* Check to emit pseudo SOS marker */ | 600 | /* Check to emit pseudo SOS marker */ |
564 | if (cinfo->progressive_mode && cinfo->block_size != DCTSIZE) | 601 | if (cinfo->progressive_mode && cinfo->block_size != DCTSIZE) |
565 | emit_pseudo_sos(cinfo); | 602 | emit_pseudo_sos(cinfo); |
@@ -668,7 +705,7 @@ jinit_marker_writer (j_compress_ptr cinfo) | |||
668 | marker = (my_marker_ptr) | 705 | marker = (my_marker_ptr) |
669 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 706 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
670 | SIZEOF(my_marker_writer)); | 707 | SIZEOF(my_marker_writer)); |
671 | cinfo->marker = (struct jpeg_marker_writer *) marker; | 708 | cinfo->marker = &marker->pub; |
672 | /* Initialize method pointers */ | 709 | /* Initialize method pointers */ |
673 | marker->pub.write_file_header = write_file_header; | 710 | marker->pub.write_file_header = write_file_header; |
674 | marker->pub.write_frame_header = write_frame_header; | 711 | marker->pub.write_frame_header = write_frame_header; |
diff --git a/gs/jpeg/jcmaster.c b/gs/jpeg/jcmaster.c index caf80a53b..2a8ae6330 100644 --- a/gs/jpeg/jcmaster.c +++ b/gs/jpeg/jcmaster.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jcmaster.c | 2 | * jcmaster.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 2003-2011 by Guido Vollbeding. | 5 | * Modified 2003-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -222,8 +222,6 @@ initial_setup (j_compress_ptr cinfo, boolean transcode_only) | |||
222 | { | 222 | { |
223 | int ci, ssize; | 223 | int ci, ssize; |
224 | jpeg_component_info *compptr; | 224 | jpeg_component_info *compptr; |
225 | long samplesperrow; | ||
226 | JDIMENSION jd_samplesperrow; | ||
227 | 225 | ||
228 | if (transcode_only) | 226 | if (transcode_only) |
229 | jpeg_calc_trans_dimensions(cinfo); | 227 | jpeg_calc_trans_dimensions(cinfo); |
@@ -251,7 +249,7 @@ initial_setup (j_compress_ptr cinfo, boolean transcode_only) | |||
251 | 249 | ||
252 | /* Sanity check on image dimensions */ | 250 | /* Sanity check on image dimensions */ |
253 | if (cinfo->jpeg_height <= 0 || cinfo->jpeg_width <= 0 || | 251 | if (cinfo->jpeg_height <= 0 || cinfo->jpeg_width <= 0 || |
254 | cinfo->num_components <= 0 || cinfo->input_components <= 0) | 252 | cinfo->num_components <= 0) |
255 | ERREXIT(cinfo, JERR_EMPTY_IMAGE); | 253 | ERREXIT(cinfo, JERR_EMPTY_IMAGE); |
256 | 254 | ||
257 | /* Make sure image isn't bigger than I can handle */ | 255 | /* Make sure image isn't bigger than I can handle */ |
@@ -259,14 +257,8 @@ initial_setup (j_compress_ptr cinfo, boolean transcode_only) | |||
259 | (long) cinfo->jpeg_width > (long) JPEG_MAX_DIMENSION) | 257 | (long) cinfo->jpeg_width > (long) JPEG_MAX_DIMENSION) |
260 | ERREXIT1(cinfo, JERR_IMAGE_TOO_BIG, (unsigned int) JPEG_MAX_DIMENSION); | 258 | ERREXIT1(cinfo, JERR_IMAGE_TOO_BIG, (unsigned int) JPEG_MAX_DIMENSION); |
261 | 259 | ||
262 | /* Width of an input scanline must be representable as JDIMENSION. */ | 260 | /* Only 8 to 12 bits data precision are supported for DCT based JPEG */ |
263 | samplesperrow = (long) cinfo->image_width * (long) cinfo->input_components; | 261 | if (cinfo->data_precision < 8 || cinfo->data_precision > 12) |
264 | jd_samplesperrow = (JDIMENSION) samplesperrow; | ||
265 | if ((long) jd_samplesperrow != samplesperrow) | ||
266 | ERREXIT(cinfo, JERR_WIDTH_OVERFLOW); | ||
267 | |||
268 | /* For now, precision must match compiled-in value... */ | ||
269 | if (cinfo->data_precision != BITS_IN_JSAMPLE) | ||
270 | ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision); | 262 | ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision); |
271 | 263 | ||
272 | /* Check that number of components won't exceed internal array sizes */ | 264 | /* Check that number of components won't exceed internal array sizes */ |
@@ -339,8 +331,10 @@ initial_setup (j_compress_ptr cinfo, boolean transcode_only) | |||
339 | jdiv_round_up((long) cinfo->jpeg_height * | 331 | jdiv_round_up((long) cinfo->jpeg_height * |
340 | (long) (compptr->v_samp_factor * compptr->DCT_v_scaled_size), | 332 | (long) (compptr->v_samp_factor * compptr->DCT_v_scaled_size), |
341 | (long) (cinfo->max_v_samp_factor * cinfo->block_size)); | 333 | (long) (cinfo->max_v_samp_factor * cinfo->block_size)); |
342 | /* Mark component needed (this flag isn't actually used for compression) */ | 334 | /* Don't need quantization scale after DCT, |
343 | compptr->component_needed = TRUE; | 335 | * until color conversion says otherwise. |
336 | */ | ||
337 | compptr->component_needed = FALSE; | ||
344 | } | 338 | } |
345 | 339 | ||
346 | /* Compute number of fully interleaved MCU rows (number of times that | 340 | /* Compute number of fully interleaved MCU rows (number of times that |
@@ -811,7 +805,7 @@ jinit_c_master_control (j_compress_ptr cinfo, boolean transcode_only) | |||
811 | master = (my_master_ptr) | 805 | master = (my_master_ptr) |
812 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 806 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
813 | SIZEOF(my_comp_master)); | 807 | SIZEOF(my_comp_master)); |
814 | cinfo->master = (struct jpeg_comp_master *) master; | 808 | cinfo->master = &master->pub; |
815 | master->pub.prepare_for_pass = prepare_for_pass; | 809 | master->pub.prepare_for_pass = prepare_for_pass; |
816 | master->pub.pass_startup = pass_startup; | 810 | master->pub.pass_startup = pass_startup; |
817 | master->pub.finish_pass = finish_pass_master; | 811 | master->pub.finish_pass = finish_pass_master; |
@@ -833,10 +827,14 @@ jinit_c_master_control (j_compress_ptr cinfo, boolean transcode_only) | |||
833 | cinfo->num_scans = 1; | 827 | cinfo->num_scans = 1; |
834 | } | 828 | } |
835 | 829 | ||
836 | if ((cinfo->progressive_mode || cinfo->block_size < DCTSIZE) && | 830 | if (cinfo->optimize_coding) |
837 | !cinfo->arith_code) /* TEMPORARY HACK ??? */ | 831 | cinfo->arith_code = FALSE; /* disable arithmetic coding */ |
838 | /* assume default tables no good for progressive or downscale mode */ | 832 | else if (! cinfo->arith_code && |
839 | cinfo->optimize_coding = TRUE; | 833 | (cinfo->progressive_mode || |
834 | (cinfo->block_size > 1 && cinfo->block_size < DCTSIZE))) | ||
835 | /* TEMPORARY HACK ??? */ | ||
836 | /* assume default tables no good for progressive or reduced AC mode */ | ||
837 | cinfo->optimize_coding = TRUE; /* force Huffman optimization */ | ||
840 | 838 | ||
841 | /* Initialize my private state */ | 839 | /* Initialize my private state */ |
842 | if (transcode_only) { | 840 | if (transcode_only) { |
diff --git a/gs/jpeg/jconfig.cfg b/gs/jpeg/jconfig.cfg index bb7435c9f..c4548fc29 100644 --- a/gs/jpeg/jconfig.cfg +++ b/gs/jpeg/jconfig.cfg | |||
@@ -17,11 +17,17 @@ | |||
17 | /* Define this if you get warnings about undefined structures. */ | 17 | /* Define this if you get warnings about undefined structures. */ |
18 | #undef INCOMPLETE_TYPES_BROKEN | 18 | #undef INCOMPLETE_TYPES_BROKEN |
19 | 19 | ||
20 | /* Define "boolean" as unsigned char, not int, on Windows systems. */ | 20 | /* Define "boolean" as unsigned char, not enum, on Windows systems. */ |
21 | #ifdef _WIN32 | 21 | #ifdef _WIN32 |
22 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ | 22 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ |
23 | typedef unsigned char boolean; | 23 | typedef unsigned char boolean; |
24 | #endif | 24 | #endif |
25 | #ifndef FALSE /* in case these macros already exist */ | ||
26 | #define FALSE 0 /* values of boolean */ | ||
27 | #endif | ||
28 | #ifndef TRUE | ||
29 | #define TRUE 1 | ||
30 | #endif | ||
25 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ | 31 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ |
26 | #endif | 32 | #endif |
27 | 33 | ||
diff --git a/gs/jpeg/jconfig.txt b/gs/jpeg/jconfig.txt index b96d31249..d1710ae7d 100644 --- a/gs/jpeg/jconfig.txt +++ b/gs/jpeg/jconfig.txt | |||
@@ -2,6 +2,7 @@ | |||
2 | * jconfig.txt | 2 | * jconfig.txt |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1994, Thomas G. Lane. | 4 | * Copyright (C) 1991-1994, Thomas G. Lane. |
5 | * Modified 2009-2013 by Guido Vollbeding. | ||
5 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 8 | * |
@@ -91,12 +92,18 @@ | |||
91 | */ | 92 | */ |
92 | #undef INCOMPLETE_TYPES_BROKEN | 93 | #undef INCOMPLETE_TYPES_BROKEN |
93 | 94 | ||
94 | /* Define "boolean" as unsigned char, not int, on Windows systems. | 95 | /* Define "boolean" as unsigned char, not enum, on Windows systems. |
95 | */ | 96 | */ |
96 | #ifdef _WIN32 | 97 | #ifdef _WIN32 |
97 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ | 98 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ |
98 | typedef unsigned char boolean; | 99 | typedef unsigned char boolean; |
99 | #endif | 100 | #endif |
101 | #ifndef FALSE /* in case these macros already exist */ | ||
102 | #define FALSE 0 /* values of boolean */ | ||
103 | #endif | ||
104 | #ifndef TRUE | ||
105 | #define TRUE 1 | ||
106 | #endif | ||
100 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ | 107 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ |
101 | #endif | 108 | #endif |
102 | 109 | ||
diff --git a/gs/jpeg/jconfig.vc b/gs/jpeg/jconfig.vc index 679404da4..7d88482fa 100644 --- a/gs/jpeg/jconfig.vc +++ b/gs/jpeg/jconfig.vc | |||
@@ -15,10 +15,16 @@ | |||
15 | #undef NEED_SHORT_EXTERNAL_NAMES | 15 | #undef NEED_SHORT_EXTERNAL_NAMES |
16 | #undef INCOMPLETE_TYPES_BROKEN | 16 | #undef INCOMPLETE_TYPES_BROKEN |
17 | 17 | ||
18 | /* Define "boolean" as unsigned char, not int, per Windows custom */ | 18 | /* Define "boolean" as unsigned char, not enum, per Windows custom */ |
19 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ | 19 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ |
20 | typedef unsigned char boolean; | 20 | typedef unsigned char boolean; |
21 | #endif | 21 | #endif |
22 | #ifndef FALSE /* in case these macros already exist */ | ||
23 | #define FALSE 0 /* values of boolean */ | ||
24 | #endif | ||
25 | #ifndef TRUE | ||
26 | #define TRUE 1 | ||
27 | #endif | ||
22 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ | 28 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ |
23 | 29 | ||
24 | 30 | ||
diff --git a/gs/jpeg/jcparam.c b/gs/jpeg/jcparam.c index c5e85dda5..4b2bee249 100644 --- a/gs/jpeg/jcparam.c +++ b/gs/jpeg/jcparam.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jcparam.c | 2 | * jcparam.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1998, Thomas G. Lane. | 4 | * Copyright (C) 1991-1998, Thomas G. Lane. |
5 | * Modified 2003-2008 by Guido Vollbeding. | 5 | * Modified 2003-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -150,7 +150,7 @@ jpeg_set_quality (j_compress_ptr cinfo, int quality, boolean force_baseline) | |||
150 | /* Set or change the 'quality' (quantization) setting, using default tables. | 150 | /* Set or change the 'quality' (quantization) setting, using default tables. |
151 | * This is the standard quality-adjusting entry point for typical user | 151 | * This is the standard quality-adjusting entry point for typical user |
152 | * interfaces; only those who want detailed control over quantization tables | 152 | * interfaces; only those who want detailed control over quantization tables |
153 | * would use the preceding three routines directly. | 153 | * would use the preceding routines directly. |
154 | */ | 154 | */ |
155 | { | 155 | { |
156 | /* Convert user 0-100 rating to percentage scaling */ | 156 | /* Convert user 0-100 rating to percentage scaling */ |
@@ -323,18 +323,17 @@ jpeg_set_defaults (j_compress_ptr cinfo) | |||
323 | /* Expect normal source image, not raw downsampled data */ | 323 | /* Expect normal source image, not raw downsampled data */ |
324 | cinfo->raw_data_in = FALSE; | 324 | cinfo->raw_data_in = FALSE; |
325 | 325 | ||
326 | /* Use Huffman coding, not arithmetic coding, by default */ | 326 | /* The standard Huffman tables are only valid for 8-bit data precision. |
327 | cinfo->arith_code = FALSE; | 327 | * If the precision is higher, use arithmetic coding. |
328 | * (Alternatively, using Huffman coding would be possible with forcing | ||
329 | * optimization on so that usable tables will be computed, or by | ||
330 | * supplying default tables that are valid for the desired precision.) | ||
331 | * Otherwise, use Huffman coding by default. | ||
332 | */ | ||
333 | cinfo->arith_code = cinfo->data_precision > 8 ? TRUE : FALSE; | ||
328 | 334 | ||
329 | /* By default, don't do extra passes to optimize entropy coding */ | 335 | /* By default, don't do extra passes to optimize entropy coding */ |
330 | cinfo->optimize_coding = FALSE; | 336 | cinfo->optimize_coding = FALSE; |
331 | /* The standard Huffman tables are only valid for 8-bit data precision. | ||
332 | * If the precision is higher, force optimization on so that usable | ||
333 | * tables will be computed. This test can be removed if default tables | ||
334 | * are supplied that are valid for the desired precision. | ||
335 | */ | ||
336 | if (cinfo->data_precision > 8) | ||
337 | cinfo->optimize_coding = TRUE; | ||
338 | 337 | ||
339 | /* By default, use the simpler non-cosited sampling alignment */ | 338 | /* By default, use the simpler non-cosited sampling alignment */ |
340 | cinfo->CCIR601_sampling = FALSE; | 339 | cinfo->CCIR601_sampling = FALSE; |
@@ -360,6 +359,9 @@ jpeg_set_defaults (j_compress_ptr cinfo) | |||
360 | * JFIF_minor_version to 2. We could probably get away with just defaulting | 359 | * JFIF_minor_version to 2. We could probably get away with just defaulting |
361 | * to 1.02, but there may still be some decoders in use that will complain | 360 | * to 1.02, but there may still be some decoders in use that will complain |
362 | * about that; saying 1.01 should minimize compatibility problems. | 361 | * about that; saying 1.01 should minimize compatibility problems. |
362 | * | ||
363 | * For wide gamut colorspaces (BG_RGB and BG_YCC), the major version will be | ||
364 | * overridden by jpeg_set_colorspace and set to 2. | ||
363 | */ | 365 | */ |
364 | cinfo->JFIF_major_version = 1; /* Default JFIF version = 1.01 */ | 366 | cinfo->JFIF_major_version = 1; /* Default JFIF version = 1.01 */ |
365 | cinfo->JFIF_minor_version = 1; | 367 | cinfo->JFIF_minor_version = 1; |
@@ -367,6 +369,9 @@ jpeg_set_defaults (j_compress_ptr cinfo) | |||
367 | cinfo->X_density = 1; /* Pixel aspect ratio is square by default */ | 369 | cinfo->X_density = 1; /* Pixel aspect ratio is square by default */ |
368 | cinfo->Y_density = 1; | 370 | cinfo->Y_density = 1; |
369 | 371 | ||
372 | /* No color transform */ | ||
373 | cinfo->color_transform = JCT_NONE; | ||
374 | |||
370 | /* Choose JPEG colorspace based on input space, set defaults accordingly */ | 375 | /* Choose JPEG colorspace based on input space, set defaults accordingly */ |
371 | 376 | ||
372 | jpeg_default_colorspace(cinfo); | 377 | jpeg_default_colorspace(cinfo); |
@@ -381,6 +386,9 @@ GLOBAL(void) | |||
381 | jpeg_default_colorspace (j_compress_ptr cinfo) | 386 | jpeg_default_colorspace (j_compress_ptr cinfo) |
382 | { | 387 | { |
383 | switch (cinfo->in_color_space) { | 388 | switch (cinfo->in_color_space) { |
389 | case JCS_UNKNOWN: | ||
390 | jpeg_set_colorspace(cinfo, JCS_UNKNOWN); | ||
391 | break; | ||
384 | case JCS_GRAYSCALE: | 392 | case JCS_GRAYSCALE: |
385 | jpeg_set_colorspace(cinfo, JCS_GRAYSCALE); | 393 | jpeg_set_colorspace(cinfo, JCS_GRAYSCALE); |
386 | break; | 394 | break; |
@@ -396,8 +404,12 @@ jpeg_default_colorspace (j_compress_ptr cinfo) | |||
396 | case JCS_YCCK: | 404 | case JCS_YCCK: |
397 | jpeg_set_colorspace(cinfo, JCS_YCCK); | 405 | jpeg_set_colorspace(cinfo, JCS_YCCK); |
398 | break; | 406 | break; |
399 | case JCS_UNKNOWN: | 407 | case JCS_BG_RGB: |
400 | jpeg_set_colorspace(cinfo, JCS_UNKNOWN); | 408 | /* No translation for now -- conversion to BG_YCC not yet supportet */ |
409 | jpeg_set_colorspace(cinfo, JCS_BG_RGB); | ||
410 | break; | ||
411 | case JCS_BG_YCC: | ||
412 | jpeg_set_colorspace(cinfo, JCS_BG_YCC); | ||
401 | break; | 413 | break; |
402 | default: | 414 | default: |
403 | ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); | 415 | ERREXIT(cinfo, JERR_BAD_IN_COLORSPACE); |
@@ -438,27 +450,40 @@ jpeg_set_colorspace (j_compress_ptr cinfo, J_COLOR_SPACE colorspace) | |||
438 | cinfo->write_Adobe_marker = FALSE; /* write no Adobe marker by default */ | 450 | cinfo->write_Adobe_marker = FALSE; /* write no Adobe marker by default */ |
439 | 451 | ||
440 | switch (colorspace) { | 452 | switch (colorspace) { |
453 | case JCS_UNKNOWN: | ||
454 | cinfo->num_components = cinfo->input_components; | ||
455 | if (cinfo->num_components < 1 || cinfo->num_components > MAX_COMPONENTS) | ||
456 | ERREXIT2(cinfo, JERR_COMPONENT_COUNT, cinfo->num_components, | ||
457 | MAX_COMPONENTS); | ||
458 | for (ci = 0; ci < cinfo->num_components; ci++) { | ||
459 | SET_COMP(ci, ci, 1,1, 0, 0,0); | ||
460 | } | ||
461 | break; | ||
441 | case JCS_GRAYSCALE: | 462 | case JCS_GRAYSCALE: |
442 | cinfo->write_JFIF_header = TRUE; /* Write a JFIF marker */ | 463 | cinfo->write_JFIF_header = TRUE; /* Write a JFIF marker */ |
443 | cinfo->num_components = 1; | 464 | cinfo->num_components = 1; |
444 | /* JFIF specifies component ID 1 */ | 465 | /* JFIF specifies component ID 1 */ |
445 | SET_COMP(0, 1, 1,1, 0, 0,0); | 466 | SET_COMP(0, 0x01, 1,1, 0, 0,0); |
446 | break; | 467 | break; |
447 | case JCS_RGB: | 468 | case JCS_RGB: |
448 | cinfo->write_Adobe_marker = TRUE; /* write Adobe marker to flag RGB */ | 469 | cinfo->write_Adobe_marker = TRUE; /* write Adobe marker to flag RGB */ |
449 | cinfo->num_components = 3; | 470 | cinfo->num_components = 3; |
450 | SET_COMP(0, 0x52 /* 'R' */, 1,1, 0, 0,0); | 471 | SET_COMP(0, 0x52 /* 'R' */, 1,1, 0, |
472 | cinfo->color_transform == JCT_SUBTRACT_GREEN ? 1 : 0, | ||
473 | cinfo->color_transform == JCT_SUBTRACT_GREEN ? 1 : 0); | ||
451 | SET_COMP(1, 0x47 /* 'G' */, 1,1, 0, 0,0); | 474 | SET_COMP(1, 0x47 /* 'G' */, 1,1, 0, 0,0); |
452 | SET_COMP(2, 0x42 /* 'B' */, 1,1, 0, 0,0); | 475 | SET_COMP(2, 0x42 /* 'B' */, 1,1, 0, |
476 | cinfo->color_transform == JCT_SUBTRACT_GREEN ? 1 : 0, | ||
477 | cinfo->color_transform == JCT_SUBTRACT_GREEN ? 1 : 0); | ||
453 | break; | 478 | break; |
454 | case JCS_YCbCr: | 479 | case JCS_YCbCr: |
455 | cinfo->write_JFIF_header = TRUE; /* Write a JFIF marker */ | 480 | cinfo->write_JFIF_header = TRUE; /* Write a JFIF marker */ |
456 | cinfo->num_components = 3; | 481 | cinfo->num_components = 3; |
457 | /* JFIF specifies component IDs 1,2,3 */ | 482 | /* JFIF specifies component IDs 1,2,3 */ |
458 | /* We default to 2x2 subsamples of chrominance */ | 483 | /* We default to 2x2 subsamples of chrominance */ |
459 | SET_COMP(0, 1, 2,2, 0, 0,0); | 484 | SET_COMP(0, 0x01, 2,2, 0, 0,0); |
460 | SET_COMP(1, 2, 1,1, 1, 1,1); | 485 | SET_COMP(1, 0x02, 1,1, 1, 1,1); |
461 | SET_COMP(2, 3, 1,1, 1, 1,1); | 486 | SET_COMP(2, 0x03, 1,1, 1, 1,1); |
462 | break; | 487 | break; |
463 | case JCS_CMYK: | 488 | case JCS_CMYK: |
464 | cinfo->write_Adobe_marker = TRUE; /* write Adobe marker to flag CMYK */ | 489 | cinfo->write_Adobe_marker = TRUE; /* write Adobe marker to flag CMYK */ |
@@ -471,19 +496,33 @@ jpeg_set_colorspace (j_compress_ptr cinfo, J_COLOR_SPACE colorspace) | |||
471 | case JCS_YCCK: | 496 | case JCS_YCCK: |
472 | cinfo->write_Adobe_marker = TRUE; /* write Adobe marker to flag YCCK */ | 497 | cinfo->write_Adobe_marker = TRUE; /* write Adobe marker to flag YCCK */ |
473 | cinfo->num_components = 4; | 498 | cinfo->num_components = 4; |
474 | SET_COMP(0, 1, 2,2, 0, 0,0); | 499 | SET_COMP(0, 0x01, 2,2, 0, 0,0); |
475 | SET_COMP(1, 2, 1,1, 1, 1,1); | 500 | SET_COMP(1, 0x02, 1,1, 1, 1,1); |
476 | SET_COMP(2, 3, 1,1, 1, 1,1); | 501 | SET_COMP(2, 0x03, 1,1, 1, 1,1); |
477 | SET_COMP(3, 4, 2,2, 0, 0,0); | 502 | SET_COMP(3, 0x04, 2,2, 0, 0,0); |
478 | break; | 503 | break; |
479 | case JCS_UNKNOWN: | 504 | case JCS_BG_RGB: |
480 | cinfo->num_components = cinfo->input_components; | 505 | cinfo->write_JFIF_header = TRUE; /* Write a JFIF marker */ |
481 | if (cinfo->num_components < 1 || cinfo->num_components > MAX_COMPONENTS) | 506 | cinfo->JFIF_major_version = 2; /* Set JFIF major version = 2 */ |
482 | ERREXIT2(cinfo, JERR_COMPONENT_COUNT, cinfo->num_components, | 507 | cinfo->num_components = 3; |
483 | MAX_COMPONENTS); | 508 | /* Add offset 0x20 to the normal R/G/B component IDs */ |
484 | for (ci = 0; ci < cinfo->num_components; ci++) { | 509 | SET_COMP(0, 0x72 /* 'r' */, 1,1, 0, |
485 | SET_COMP(ci, ci, 1,1, 0, 0,0); | 510 | cinfo->color_transform == JCT_SUBTRACT_GREEN ? 1 : 0, |
486 | } | 511 | cinfo->color_transform == JCT_SUBTRACT_GREEN ? 1 : 0); |
512 | SET_COMP(1, 0x67 /* 'g' */, 1,1, 0, 0,0); | ||
513 | SET_COMP(2, 0x62 /* 'b' */, 1,1, 0, | ||
514 | cinfo->color_transform == JCT_SUBTRACT_GREEN ? 1 : 0, | ||
515 | cinfo->color_transform == JCT_SUBTRACT_GREEN ? 1 : 0); | ||
516 | break; | ||
517 | case JCS_BG_YCC: | ||
518 | cinfo->write_JFIF_header = TRUE; /* Write a JFIF marker */ | ||
519 | cinfo->JFIF_major_version = 2; /* Set JFIF major version = 2 */ | ||
520 | cinfo->num_components = 3; | ||
521 | /* Add offset 0x20 to the normal Cb/Cr component IDs */ | ||
522 | /* We default to 2x2 subsamples of chrominance */ | ||
523 | SET_COMP(0, 0x01, 2,2, 0, 0,0); | ||
524 | SET_COMP(1, 0x22, 1,1, 1, 1,1); | ||
525 | SET_COMP(2, 0x23, 1,1, 1, 1,1); | ||
487 | break; | 526 | break; |
488 | default: | 527 | default: |
489 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); | 528 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); |
@@ -567,8 +606,10 @@ jpeg_simple_progression (j_compress_ptr cinfo) | |||
567 | ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); | 606 | ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state); |
568 | 607 | ||
569 | /* Figure space needed for script. Calculation must match code below! */ | 608 | /* Figure space needed for script. Calculation must match code below! */ |
570 | if (ncomps == 3 && cinfo->jpeg_color_space == JCS_YCbCr) { | 609 | if (ncomps == 3 && |
571 | /* Custom script for YCbCr color images. */ | 610 | (cinfo->jpeg_color_space == JCS_YCbCr || |
611 | cinfo->jpeg_color_space == JCS_BG_YCC)) { | ||
612 | /* Custom script for YCC color images. */ | ||
572 | nscans = 10; | 613 | nscans = 10; |
573 | } else { | 614 | } else { |
574 | /* All-purpose script for other color spaces. */ | 615 | /* All-purpose script for other color spaces. */ |
@@ -583,7 +624,7 @@ jpeg_simple_progression (j_compress_ptr cinfo) | |||
583 | * multiple compressions without changing the settings. To avoid a memory | 624 | * multiple compressions without changing the settings. To avoid a memory |
584 | * leak if jpeg_simple_progression is called repeatedly for the same JPEG | 625 | * leak if jpeg_simple_progression is called repeatedly for the same JPEG |
585 | * object, we try to re-use previously allocated space, and we allocate | 626 | * object, we try to re-use previously allocated space, and we allocate |
586 | * enough space to handle YCbCr even if initially asked for grayscale. | 627 | * enough space to handle YCC even if initially asked for grayscale. |
587 | */ | 628 | */ |
588 | if (cinfo->script_space == NULL || cinfo->script_space_size < nscans) { | 629 | if (cinfo->script_space == NULL || cinfo->script_space_size < nscans) { |
589 | cinfo->script_space_size = MAX(nscans, 10); | 630 | cinfo->script_space_size = MAX(nscans, 10); |
@@ -595,8 +636,10 @@ jpeg_simple_progression (j_compress_ptr cinfo) | |||
595 | cinfo->scan_info = scanptr; | 636 | cinfo->scan_info = scanptr; |
596 | cinfo->num_scans = nscans; | 637 | cinfo->num_scans = nscans; |
597 | 638 | ||
598 | if (ncomps == 3 && cinfo->jpeg_color_space == JCS_YCbCr) { | 639 | if (ncomps == 3 && |
599 | /* Custom script for YCbCr color images. */ | 640 | (cinfo->jpeg_color_space == JCS_YCbCr || |
641 | cinfo->jpeg_color_space == JCS_BG_YCC)) { | ||
642 | /* Custom script for YCC color images. */ | ||
600 | /* Initial DC scan */ | 643 | /* Initial DC scan */ |
601 | scanptr = fill_dc_scans(scanptr, ncomps, 0, 1); | 644 | scanptr = fill_dc_scans(scanptr, ncomps, 0, 1); |
602 | /* Initial AC scan: get some luma data out in a hurry */ | 645 | /* Initial AC scan: get some luma data out in a hurry */ |
diff --git a/gs/jpeg/jctrans.c b/gs/jpeg/jctrans.c index f7d7b8149..7cd077e4f 100644 --- a/gs/jpeg/jctrans.c +++ b/gs/jpeg/jctrans.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jctrans.c | 2 | * jctrans.c |
3 | * | 3 | * |
4 | * Copyright (C) 1995-1998, Thomas G. Lane. | 4 | * Copyright (C) 1995-1998, Thomas G. Lane. |
5 | * Modified 2000-2011 by Guido Vollbeding. | 5 | * Modified 2000-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -85,7 +85,10 @@ jpeg_copy_critical_parameters (j_decompress_ptr srcinfo, | |||
85 | jpeg_set_defaults(dstinfo); | 85 | jpeg_set_defaults(dstinfo); |
86 | /* jpeg_set_defaults may choose wrong colorspace, eg YCbCr if input is RGB. | 86 | /* jpeg_set_defaults may choose wrong colorspace, eg YCbCr if input is RGB. |
87 | * Fix it to get the right header markers for the image colorspace. | 87 | * Fix it to get the right header markers for the image colorspace. |
88 | * Note: Entropy table assignment in jpeg_set_colorspace depends | ||
89 | * on color_transform. | ||
88 | */ | 90 | */ |
91 | dstinfo->color_transform = srcinfo->color_transform; | ||
89 | jpeg_set_colorspace(dstinfo, srcinfo->jpeg_color_space); | 92 | jpeg_set_colorspace(dstinfo, srcinfo->jpeg_color_space); |
90 | dstinfo->data_precision = srcinfo->data_precision; | 93 | dstinfo->data_precision = srcinfo->data_precision; |
91 | dstinfo->CCIR601_sampling = srcinfo->CCIR601_sampling; | 94 | dstinfo->CCIR601_sampling = srcinfo->CCIR601_sampling; |
@@ -130,7 +133,7 @@ jpeg_copy_critical_parameters (j_decompress_ptr srcinfo, | |||
130 | ERREXIT1(dstinfo, JERR_MISMATCHED_QUANT_TABLE, tblno); | 133 | ERREXIT1(dstinfo, JERR_MISMATCHED_QUANT_TABLE, tblno); |
131 | } | 134 | } |
132 | } | 135 | } |
133 | /* Note: we do not copy the source's Huffman table assignments; | 136 | /* Note: we do not copy the source's entropy table assignments; |
134 | * instead we rely on jpeg_set_colorspace to have made a suitable choice. | 137 | * instead we rely on jpeg_set_colorspace to have made a suitable choice. |
135 | */ | 138 | */ |
136 | } | 139 | } |
@@ -140,10 +143,10 @@ jpeg_copy_critical_parameters (j_decompress_ptr srcinfo, | |||
140 | * if the application chooses to copy JFIF 1.02 extension markers from | 143 | * if the application chooses to copy JFIF 1.02 extension markers from |
141 | * the source file, we need to copy the version to make sure we don't | 144 | * the source file, we need to copy the version to make sure we don't |
142 | * emit a file that has 1.02 extensions but a claimed version of 1.01. | 145 | * emit a file that has 1.02 extensions but a claimed version of 1.01. |
143 | * We will *not*, however, copy version info from mislabeled "2.01" files. | ||
144 | */ | 146 | */ |
145 | if (srcinfo->saw_JFIF_marker) { | 147 | if (srcinfo->saw_JFIF_marker) { |
146 | if (srcinfo->JFIF_major_version == 1) { | 148 | if (srcinfo->JFIF_major_version == 1 || |
149 | srcinfo->JFIF_major_version == 2) { | ||
147 | dstinfo->JFIF_major_version = srcinfo->JFIF_major_version; | 150 | dstinfo->JFIF_major_version = srcinfo->JFIF_major_version; |
148 | dstinfo->JFIF_minor_version = srcinfo->JFIF_minor_version; | 151 | dstinfo->JFIF_minor_version = srcinfo->JFIF_minor_version; |
149 | } | 152 | } |
@@ -364,7 +367,7 @@ transencode_coef_controller (j_compress_ptr cinfo, | |||
364 | coef = (my_coef_ptr) | 367 | coef = (my_coef_ptr) |
365 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 368 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
366 | SIZEOF(my_coef_controller)); | 369 | SIZEOF(my_coef_controller)); |
367 | cinfo->coef = (struct jpeg_c_coef_controller *) coef; | 370 | cinfo->coef = &coef->pub; |
368 | coef->pub.start_pass = start_pass_coef; | 371 | coef->pub.start_pass = start_pass_coef; |
369 | coef->pub.compress_data = compress_output; | 372 | coef->pub.compress_data = compress_output; |
370 | 373 | ||
diff --git a/gs/jpeg/jdapimin.c b/gs/jpeg/jdapimin.c index 7f1ce4c05..a6e0dd9fb 100644 --- a/gs/jpeg/jdapimin.c +++ b/gs/jpeg/jdapimin.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jdapimin.c | 2 | * jdapimin.c |
3 | * | 3 | * |
4 | * Copyright (C) 1994-1998, Thomas G. Lane. | 4 | * Copyright (C) 1994-1998, Thomas G. Lane. |
5 | * Modified 2009 by Guido Vollbeding. | 5 | * Modified 2009-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -114,8 +114,9 @@ jpeg_abort_decompress (j_decompress_ptr cinfo) | |||
114 | LOCAL(void) | 114 | LOCAL(void) |
115 | default_decompress_parms (j_decompress_ptr cinfo) | 115 | default_decompress_parms (j_decompress_ptr cinfo) |
116 | { | 116 | { |
117 | int cid0, cid1, cid2; | ||
118 | |||
117 | /* Guess the input colorspace, and set output colorspace accordingly. */ | 119 | /* Guess the input colorspace, and set output colorspace accordingly. */ |
118 | /* (Wish JPEG committee had provided a real way to specify this...) */ | ||
119 | /* Note application may override our guesses. */ | 120 | /* Note application may override our guesses. */ |
120 | switch (cinfo->num_components) { | 121 | switch (cinfo->num_components) { |
121 | case 1: | 122 | case 1: |
@@ -124,9 +125,22 @@ default_decompress_parms (j_decompress_ptr cinfo) | |||
124 | break; | 125 | break; |
125 | 126 | ||
126 | case 3: | 127 | case 3: |
127 | if (cinfo->saw_JFIF_marker) { | 128 | cid0 = cinfo->comp_info[0].component_id; |
128 | cinfo->jpeg_color_space = JCS_YCbCr; /* JFIF implies YCbCr */ | 129 | cid1 = cinfo->comp_info[1].component_id; |
129 | } else if (cinfo->saw_Adobe_marker) { | 130 | cid2 = cinfo->comp_info[2].component_id; |
131 | |||
132 | /* First try to guess from the component IDs */ | ||
133 | if (cid0 == 0x01 && cid1 == 0x02 && cid2 == 0x03) | ||
134 | cinfo->jpeg_color_space = JCS_YCbCr; | ||
135 | else if (cid0 == 0x01 && cid1 == 0x22 && cid2 == 0x23) | ||
136 | cinfo->jpeg_color_space = JCS_BG_YCC; | ||
137 | else if (cid0 == 0x52 && cid1 == 0x47 && cid2 == 0x42) | ||
138 | cinfo->jpeg_color_space = JCS_RGB; /* ASCII 'R', 'G', 'B' */ | ||
139 | else if (cid0 == 0x72 && cid1 == 0x67 && cid2 == 0x62) | ||
140 | cinfo->jpeg_color_space = JCS_BG_RGB; /* ASCII 'r', 'g', 'b' */ | ||
141 | else if (cinfo->saw_JFIF_marker) | ||
142 | cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ | ||
143 | else if (cinfo->saw_Adobe_marker) { | ||
130 | switch (cinfo->Adobe_transform) { | 144 | switch (cinfo->Adobe_transform) { |
131 | case 0: | 145 | case 0: |
132 | cinfo->jpeg_color_space = JCS_RGB; | 146 | cinfo->jpeg_color_space = JCS_RGB; |
@@ -136,23 +150,12 @@ default_decompress_parms (j_decompress_ptr cinfo) | |||
136 | break; | 150 | break; |
137 | default: | 151 | default: |
138 | WARNMS1(cinfo, JWRN_ADOBE_XFORM, cinfo->Adobe_transform); | 152 | WARNMS1(cinfo, JWRN_ADOBE_XFORM, cinfo->Adobe_transform); |
139 | cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ | 153 | cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ |
140 | break; | 154 | break; |
141 | } | 155 | } |
142 | } else { | 156 | } else { |
143 | /* Saw no special markers, try to guess from the component IDs */ | 157 | TRACEMS3(cinfo, 1, JTRC_UNKNOWN_IDS, cid0, cid1, cid2); |
144 | int cid0 = cinfo->comp_info[0].component_id; | 158 | cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ |
145 | int cid1 = cinfo->comp_info[1].component_id; | ||
146 | int cid2 = cinfo->comp_info[2].component_id; | ||
147 | |||
148 | if (cid0 == 1 && cid1 == 2 && cid2 == 3) | ||
149 | cinfo->jpeg_color_space = JCS_YCbCr; /* assume JFIF w/out marker */ | ||
150 | else if (cid0 == 82 && cid1 == 71 && cid2 == 66) | ||
151 | cinfo->jpeg_color_space = JCS_RGB; /* ASCII 'R', 'G', 'B' */ | ||
152 | else { | ||
153 | TRACEMS3(cinfo, 1, JTRC_UNKNOWN_IDS, cid0, cid1, cid2); | ||
154 | cinfo->jpeg_color_space = JCS_YCbCr; /* assume it's YCbCr */ | ||
155 | } | ||
156 | } | 159 | } |
157 | /* Always guess RGB is proper output colorspace. */ | 160 | /* Always guess RGB is proper output colorspace. */ |
158 | cinfo->out_color_space = JCS_RGB; | 161 | cinfo->out_color_space = JCS_RGB; |
@@ -169,7 +172,7 @@ default_decompress_parms (j_decompress_ptr cinfo) | |||
169 | break; | 172 | break; |
170 | default: | 173 | default: |
171 | WARNMS1(cinfo, JWRN_ADOBE_XFORM, cinfo->Adobe_transform); | 174 | WARNMS1(cinfo, JWRN_ADOBE_XFORM, cinfo->Adobe_transform); |
172 | cinfo->jpeg_color_space = JCS_YCCK; /* assume it's YCCK */ | 175 | cinfo->jpeg_color_space = JCS_YCCK; /* assume it's YCCK */ |
173 | break; | 176 | break; |
174 | } | 177 | } |
175 | } else { | 178 | } else { |
diff --git a/gs/jpeg/jdapistd.c b/gs/jpeg/jdapistd.c index 9d7453777..7f3a78b25 100644 --- a/gs/jpeg/jdapistd.c +++ b/gs/jpeg/jdapistd.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * jdapistd.c | 2 | * jdapistd.c |
3 | * | 3 | * |
4 | * Copyright (C) 1994-1996, Thomas G. Lane. | 4 | * Copyright (C) 1994-1996, Thomas G. Lane. |
5 | * Modified 2002-2013 by Guido Vollbeding. | ||
5 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 8 | * |
diff --git a/gs/jpeg/jdarith.c b/gs/jpeg/jdarith.c index 092f8af5f..efdb26d3a 100644 --- a/gs/jpeg/jdarith.c +++ b/gs/jpeg/jdarith.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * jdarith.c | 2 | * jdarith.c |
3 | * | 3 | * |
4 | * Developed 1997-2011 by Guido Vollbeding. | 4 | * Developed 1997-2013 by Guido Vollbeding. |
5 | * This file is part of the Independent JPEG Group's software. | 5 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 6 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 7 | * |
@@ -345,12 +345,15 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
345 | /* Sections F.2.4.2 & F.1.4.4.2: Decoding of AC coefficients */ | 345 | /* Sections F.2.4.2 & F.1.4.4.2: Decoding of AC coefficients */ |
346 | 346 | ||
347 | /* Figure F.20: Decode_AC_coefficients */ | 347 | /* Figure F.20: Decode_AC_coefficients */ |
348 | for (k = cinfo->Ss; k <= cinfo->Se; k++) { | 348 | k = cinfo->Ss - 1; |
349 | st = entropy->ac_stats[tbl] + 3 * (k - 1); | 349 | do { |
350 | st = entropy->ac_stats[tbl] + 3 * k; | ||
350 | if (arith_decode(cinfo, st)) break; /* EOB flag */ | 351 | if (arith_decode(cinfo, st)) break; /* EOB flag */ |
351 | while (arith_decode(cinfo, st + 1) == 0) { | 352 | for (;;) { |
352 | st += 3; k++; | 353 | k++; |
353 | if (k > cinfo->Se) { | 354 | if (arith_decode(cinfo, st + 1)) break; |
355 | st += 3; | ||
356 | if (k >= cinfo->Se) { | ||
354 | WARNMS(cinfo, JWRN_ARITH_BAD_CODE); | 357 | WARNMS(cinfo, JWRN_ARITH_BAD_CODE); |
355 | entropy->ct = -1; /* spectral overflow */ | 358 | entropy->ct = -1; /* spectral overflow */ |
356 | return TRUE; | 359 | return TRUE; |
@@ -384,7 +387,7 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
384 | v += 1; if (sign) v = -v; | 387 | v += 1; if (sign) v = -v; |
385 | /* Scale and output coefficient in natural (dezigzagged) order */ | 388 | /* Scale and output coefficient in natural (dezigzagged) order */ |
386 | (*block)[natural_order[k]] = (JCOEF) (v << cinfo->Al); | 389 | (*block)[natural_order[k]] = (JCOEF) (v << cinfo->Al); |
387 | } | 390 | } while (k < cinfo->Se); |
388 | 391 | ||
389 | return TRUE; | 392 | return TRUE; |
390 | } | 393 | } |
@@ -392,6 +395,8 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
392 | 395 | ||
393 | /* | 396 | /* |
394 | * MCU decoding for DC successive approximation refinement scan. | 397 | * MCU decoding for DC successive approximation refinement scan. |
398 | * Note: we assume such scans can be multi-component, | ||
399 | * although the spec is not very clear on the point. | ||
395 | */ | 400 | */ |
396 | 401 | ||
397 | METHODDEF(boolean) | 402 | METHODDEF(boolean) |
@@ -457,15 +462,18 @@ decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
457 | m1 = (-1) << cinfo->Al; /* -1 in the bit position being coded */ | 462 | m1 = (-1) << cinfo->Al; /* -1 in the bit position being coded */ |
458 | 463 | ||
459 | /* Establish EOBx (previous stage end-of-block) index */ | 464 | /* Establish EOBx (previous stage end-of-block) index */ |
460 | for (kex = cinfo->Se; kex > 0; kex--) | 465 | kex = cinfo->Se; |
466 | do { | ||
461 | if ((*block)[natural_order[kex]]) break; | 467 | if ((*block)[natural_order[kex]]) break; |
468 | } while (--kex); | ||
462 | 469 | ||
463 | for (k = cinfo->Ss; k <= cinfo->Se; k++) { | 470 | k = cinfo->Ss - 1; |
464 | st = entropy->ac_stats[tbl] + 3 * (k - 1); | 471 | do { |
465 | if (k > kex) | 472 | st = entropy->ac_stats[tbl] + 3 * k; |
473 | if (k >= kex) | ||
466 | if (arith_decode(cinfo, st)) break; /* EOB flag */ | 474 | if (arith_decode(cinfo, st)) break; /* EOB flag */ |
467 | for (;;) { | 475 | for (;;) { |
468 | thiscoef = *block + natural_order[k]; | 476 | thiscoef = *block + natural_order[++k]; |
469 | if (*thiscoef) { /* previously nonzero coef */ | 477 | if (*thiscoef) { /* previously nonzero coef */ |
470 | if (arith_decode(cinfo, st + 2)) { | 478 | if (arith_decode(cinfo, st + 2)) { |
471 | if (*thiscoef < 0) | 479 | if (*thiscoef < 0) |
@@ -482,14 +490,14 @@ decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
482 | *thiscoef = p1; | 490 | *thiscoef = p1; |
483 | break; | 491 | break; |
484 | } | 492 | } |
485 | st += 3; k++; | 493 | st += 3; |
486 | if (k > cinfo->Se) { | 494 | if (k >= cinfo->Se) { |
487 | WARNMS(cinfo, JWRN_ARITH_BAD_CODE); | 495 | WARNMS(cinfo, JWRN_ARITH_BAD_CODE); |
488 | entropy->ct = -1; /* spectral overflow */ | 496 | entropy->ct = -1; /* spectral overflow */ |
489 | return TRUE; | 497 | return TRUE; |
490 | } | 498 | } |
491 | } | 499 | } |
492 | } | 500 | } while (k < cinfo->Se); |
493 | 501 | ||
494 | return TRUE; | 502 | return TRUE; |
495 | } | 503 | } |
@@ -738,6 +746,17 @@ start_pass (j_decompress_ptr cinfo) | |||
738 | 746 | ||
739 | 747 | ||
740 | /* | 748 | /* |
749 | * Finish up at the end of an arithmetic-compressed scan. | ||
750 | */ | ||
751 | |||
752 | METHODDEF(void) | ||
753 | finish_pass (j_decompress_ptr cinfo) | ||
754 | { | ||
755 | /* no work necessary here */ | ||
756 | } | ||
757 | |||
758 | |||
759 | /* | ||
741 | * Module initialization routine for arithmetic entropy decoding. | 760 | * Module initialization routine for arithmetic entropy decoding. |
742 | */ | 761 | */ |
743 | 762 | ||
@@ -750,8 +769,9 @@ jinit_arith_decoder (j_decompress_ptr cinfo) | |||
750 | entropy = (arith_entropy_ptr) | 769 | entropy = (arith_entropy_ptr) |
751 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 770 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
752 | SIZEOF(arith_entropy_decoder)); | 771 | SIZEOF(arith_entropy_decoder)); |
753 | cinfo->entropy = (struct jpeg_entropy_decoder *) entropy; | 772 | cinfo->entropy = &entropy->pub; |
754 | entropy->pub.start_pass = start_pass; | 773 | entropy->pub.start_pass = start_pass; |
774 | entropy->pub.finish_pass = finish_pass; | ||
755 | 775 | ||
756 | /* Mark tables unallocated */ | 776 | /* Mark tables unallocated */ |
757 | for (i = 0; i < NUM_ARITH_TBLS; i++) { | 777 | for (i = 0; i < NUM_ARITH_TBLS; i++) { |
diff --git a/gs/jpeg/jdatadst.c b/gs/jpeg/jdatadst.c index 6981fb73d..5c8681c9e 100644 --- a/gs/jpeg/jdatadst.c +++ b/gs/jpeg/jdatadst.c | |||
@@ -226,6 +226,9 @@ jpeg_stdio_dest (j_compress_ptr cinfo, FILE * outfile) | |||
226 | * larger memory, so the buffer is available to the application after | 226 | * larger memory, so the buffer is available to the application after |
227 | * finishing compression, and then the application is responsible for | 227 | * finishing compression, and then the application is responsible for |
228 | * freeing the requested memory. | 228 | * freeing the requested memory. |
229 | * Note: An initial buffer supplied by the caller is expected to be | ||
230 | * managed by the application. The library does not free such buffer | ||
231 | * when allocating a larger buffer. | ||
229 | */ | 232 | */ |
230 | 233 | ||
231 | GLOBAL(void) | 234 | GLOBAL(void) |
diff --git a/gs/jpeg/jdcolor.c b/gs/jpeg/jdcolor.c index 83e4d069a..a31c28615 100644 --- a/gs/jpeg/jdcolor.c +++ b/gs/jpeg/jdcolor.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jdcolor.c | 2 | * jdcolor.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 2011 by Guido Vollbeding. | 5 | * Modified 2011-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -19,12 +19,15 @@ | |||
19 | typedef struct { | 19 | typedef struct { |
20 | struct jpeg_color_deconverter pub; /* public fields */ | 20 | struct jpeg_color_deconverter pub; /* public fields */ |
21 | 21 | ||
22 | /* Private state for YCC->RGB conversion */ | 22 | /* Private state for YCbCr->RGB and BG_YCC->RGB conversion */ |
23 | int * Cr_r_tab; /* => table for Cr to R conversion */ | 23 | int * Cr_r_tab; /* => table for Cr to R conversion */ |
24 | int * Cb_b_tab; /* => table for Cb to B conversion */ | 24 | int * Cb_b_tab; /* => table for Cb to B conversion */ |
25 | INT32 * Cr_g_tab; /* => table for Cr to G conversion */ | 25 | INT32 * Cr_g_tab; /* => table for Cr to G conversion */ |
26 | INT32 * Cb_g_tab; /* => table for Cb to G conversion */ | 26 | INT32 * Cb_g_tab; /* => table for Cb to G conversion */ |
27 | 27 | ||
28 | JSAMPLE * range_limit; /* pointer to normal sample range limit table, */ | ||
29 | /* or extended sample range limit table for BG_YCC */ | ||
30 | |||
28 | /* Private state for RGB->Y conversion */ | 31 | /* Private state for RGB->Y conversion */ |
29 | INT32 * rgb_y_tab; /* => table for RGB to Y conversion */ | 32 | INT32 * rgb_y_tab; /* => table for RGB to Y conversion */ |
30 | } my_color_deconverter; | 33 | } my_color_deconverter; |
@@ -32,22 +35,44 @@ typedef struct { | |||
32 | typedef my_color_deconverter * my_cconvert_ptr; | 35 | typedef my_color_deconverter * my_cconvert_ptr; |
33 | 36 | ||
34 | 37 | ||
35 | /**************** YCbCr -> RGB conversion: most common case **************/ | 38 | /*************** YCbCr -> RGB conversion: most common case **************/ |
36 | /**************** RGB -> Y conversion: less common case **************/ | 39 | /*************** BG_YCC -> RGB conversion: less common case **************/ |
40 | /*************** RGB -> Y conversion: less common case **************/ | ||
37 | 41 | ||
38 | /* | 42 | /* |
39 | * YCbCr is defined per CCIR 601-1, except that Cb and Cr are | 43 | * YCbCr is defined per Recommendation ITU-R BT.601-7 (03/2011), |
40 | * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. | 44 | * previously known as Recommendation CCIR 601-1, except that Cb and Cr |
41 | * The conversion equations to be implemented are therefore | 45 | * are normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. |
46 | * sRGB (standard RGB color space) is defined per IEC 61966-2-1:1999. | ||
47 | * sYCC (standard luma-chroma-chroma color space with extended gamut) | ||
48 | * is defined per IEC 61966-2-1:1999 Amendment A1:2003 Annex F. | ||
49 | * bg-sRGB and bg-sYCC (big gamut standard color spaces) | ||
50 | * are defined per IEC 61966-2-1:1999 Amendment A1:2003 Annex G. | ||
51 | * Note that the derived conversion coefficients given in some of these | ||
52 | * documents are imprecise. The general conversion equations are | ||
53 | * | ||
54 | * R = Y + K * (1 - Kr) * Cr | ||
55 | * G = Y - K * (Kb * (1 - Kb) * Cb + Kr * (1 - Kr) * Cr) / (1 - Kr - Kb) | ||
56 | * B = Y + K * (1 - Kb) * Cb | ||
57 | * | ||
58 | * Y = Kr * R + (1 - Kr - Kb) * G + Kb * B | ||
59 | * | ||
60 | * With Kr = 0.299 and Kb = 0.114 (derived according to SMPTE RP 177-1993 | ||
61 | * from the 1953 FCC NTSC primaries and CIE Illuminant C), K = 2 for sYCC, | ||
62 | * the conversion equations to be implemented are therefore | ||
42 | * | 63 | * |
43 | * R = Y + 1.40200 * Cr | 64 | * R = Y + 1.402 * Cr |
44 | * G = Y - 0.34414 * Cb - 0.71414 * Cr | 65 | * G = Y - 0.344136286 * Cb - 0.714136286 * Cr |
45 | * B = Y + 1.77200 * Cb | 66 | * B = Y + 1.772 * Cb |
46 | * | 67 | * |
47 | * Y = 0.29900 * R + 0.58700 * G + 0.11400 * B | 68 | * Y = 0.299 * R + 0.587 * G + 0.114 * B |
48 | * | 69 | * |
49 | * where Cb and Cr represent the incoming values less CENTERJSAMPLE. | 70 | * where Cb and Cr represent the incoming values less CENTERJSAMPLE. |
50 | * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.) | 71 | * For bg-sYCC, with K = 4, the equations are |
72 | * | ||
73 | * R = Y + 2.804 * Cr | ||
74 | * G = Y - 0.688272572 * Cb - 1.428272572 * Cr | ||
75 | * B = Y + 3.544 * Cb | ||
51 | * | 76 | * |
52 | * To avoid floating-point arithmetic, we represent the fractional constants | 77 | * To avoid floating-point arithmetic, we represent the fractional constants |
53 | * as integers scaled up by 2^16 (about 4 digits precision); we have to divide | 78 | * as integers scaled up by 2^16 (about 4 digits precision); we have to divide |
@@ -58,9 +83,9 @@ typedef my_color_deconverter * my_cconvert_ptr; | |||
58 | * For even more speed, we avoid doing any multiplications in the inner loop | 83 | * For even more speed, we avoid doing any multiplications in the inner loop |
59 | * by precalculating the constants times Cb and Cr for all possible values. | 84 | * by precalculating the constants times Cb and Cr for all possible values. |
60 | * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table); | 85 | * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table); |
61 | * for 12-bit samples it is still acceptable. It's not very reasonable for | 86 | * for 9-bit to 12-bit samples it is still acceptable. It's not very |
62 | * 16-bit samples, but if you want lossless storage you shouldn't be changing | 87 | * reasonable for 16-bit samples, but if you want lossless storage you |
63 | * colorspace anyway. | 88 | * shouldn't be changing colorspace anyway. |
64 | * The Cr=>R and Cb=>B values can be rounded to integers in advance; the | 89 | * The Cr=>R and Cb=>B values can be rounded to integers in advance; the |
65 | * values for the G calculation are left scaled up, since we must add them | 90 | * values for the G calculation are left scaled up, since we must add them |
66 | * together before rounding. | 91 | * together before rounding. |
@@ -84,11 +109,12 @@ typedef my_color_deconverter * my_cconvert_ptr; | |||
84 | 109 | ||
85 | 110 | ||
86 | /* | 111 | /* |
87 | * Initialize tables for YCC->RGB colorspace conversion. | 112 | * Initialize tables for YCbCr->RGB and BG_YCC->RGB colorspace conversion. |
88 | */ | 113 | */ |
89 | 114 | ||
90 | LOCAL(void) | 115 | LOCAL(void) |
91 | build_ycc_rgb_table (j_decompress_ptr cinfo) | 116 | build_ycc_rgb_table (j_decompress_ptr cinfo) |
117 | /* Normal case, sYCC */ | ||
92 | { | 118 | { |
93 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | 119 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; |
94 | int i; | 120 | int i; |
@@ -108,24 +134,84 @@ build_ycc_rgb_table (j_decompress_ptr cinfo) | |||
108 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 134 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
109 | (MAXJSAMPLE+1) * SIZEOF(INT32)); | 135 | (MAXJSAMPLE+1) * SIZEOF(INT32)); |
110 | 136 | ||
137 | cconvert->range_limit = cinfo->sample_range_limit; | ||
138 | |||
111 | for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) { | 139 | for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) { |
112 | /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */ | 140 | /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */ |
113 | /* The Cb or Cr value we are thinking of is x = i - CENTERJSAMPLE */ | 141 | /* The Cb or Cr value we are thinking of is x = i - CENTERJSAMPLE */ |
114 | /* Cr=>R value is nearest int to 1.40200 * x */ | 142 | /* Cr=>R value is nearest int to 1.402 * x */ |
115 | cconvert->Cr_r_tab[i] = (int) | 143 | cconvert->Cr_r_tab[i] = (int) |
116 | RIGHT_SHIFT(FIX(1.40200) * x + ONE_HALF, SCALEBITS); | 144 | RIGHT_SHIFT(FIX(1.402) * x + ONE_HALF, SCALEBITS); |
117 | /* Cb=>B value is nearest int to 1.77200 * x */ | 145 | /* Cb=>B value is nearest int to 1.772 * x */ |
118 | cconvert->Cb_b_tab[i] = (int) | 146 | cconvert->Cb_b_tab[i] = (int) |
119 | RIGHT_SHIFT(FIX(1.77200) * x + ONE_HALF, SCALEBITS); | 147 | RIGHT_SHIFT(FIX(1.772) * x + ONE_HALF, SCALEBITS); |
120 | /* Cr=>G value is scaled-up -0.71414 * x */ | 148 | /* Cr=>G value is scaled-up -0.714136286 * x */ |
121 | cconvert->Cr_g_tab[i] = (- FIX(0.71414)) * x; | 149 | cconvert->Cr_g_tab[i] = (- FIX(0.714136286)) * x; |
122 | /* Cb=>G value is scaled-up -0.34414 * x */ | 150 | /* Cb=>G value is scaled-up -0.344136286 * x */ |
123 | /* We also add in ONE_HALF so that need not do it in inner loop */ | 151 | /* We also add in ONE_HALF so that need not do it in inner loop */ |
124 | cconvert->Cb_g_tab[i] = (- FIX(0.34414)) * x + ONE_HALF; | 152 | cconvert->Cb_g_tab[i] = (- FIX(0.344136286)) * x + ONE_HALF; |
125 | } | 153 | } |
126 | } | 154 | } |
127 | 155 | ||
128 | 156 | ||
157 | LOCAL(void) | ||
158 | build_bg_ycc_rgb_table (j_decompress_ptr cinfo) | ||
159 | /* Wide gamut case, bg-sYCC */ | ||
160 | { | ||
161 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | ||
162 | int i; | ||
163 | INT32 x; | ||
164 | SHIFT_TEMPS | ||
165 | |||
166 | cconvert->Cr_r_tab = (int *) | ||
167 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||
168 | (MAXJSAMPLE+1) * SIZEOF(int)); | ||
169 | cconvert->Cb_b_tab = (int *) | ||
170 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||
171 | (MAXJSAMPLE+1) * SIZEOF(int)); | ||
172 | cconvert->Cr_g_tab = (INT32 *) | ||
173 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||
174 | (MAXJSAMPLE+1) * SIZEOF(INT32)); | ||
175 | cconvert->Cb_g_tab = (INT32 *) | ||
176 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||
177 | (MAXJSAMPLE+1) * SIZEOF(INT32)); | ||
178 | |||
179 | cconvert->range_limit = (JSAMPLE *) | ||
180 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | ||
181 | 5 * (MAXJSAMPLE+1) * SIZEOF(JSAMPLE)); | ||
182 | |||
183 | for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) { | ||
184 | /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */ | ||
185 | /* The Cb or Cr value we are thinking of is x = i - CENTERJSAMPLE */ | ||
186 | /* Cr=>R value is nearest int to 2.804 * x */ | ||
187 | cconvert->Cr_r_tab[i] = (int) | ||
188 | RIGHT_SHIFT(FIX(2.804) * x + ONE_HALF, SCALEBITS); | ||
189 | /* Cb=>B value is nearest int to 3.544 * x */ | ||
190 | cconvert->Cb_b_tab[i] = (int) | ||
191 | RIGHT_SHIFT(FIX(3.544) * x + ONE_HALF, SCALEBITS); | ||
192 | /* Cr=>G value is scaled-up -1.428272572 * x */ | ||
193 | cconvert->Cr_g_tab[i] = (- FIX(1.428272572)) * x; | ||
194 | /* Cb=>G value is scaled-up -0.688272572 * x */ | ||
195 | /* We also add in ONE_HALF so that need not do it in inner loop */ | ||
196 | cconvert->Cb_g_tab[i] = (- FIX(0.688272572)) * x + ONE_HALF; | ||
197 | } | ||
198 | |||
199 | /* Cb and Cr portions can extend to double range in wide gamut case, | ||
200 | * so we prepare an appropriate extended range limit table. | ||
201 | */ | ||
202 | |||
203 | /* First segment of range limit table: limit[x] = 0 for x < 0 */ | ||
204 | MEMZERO(cconvert->range_limit, 2 * (MAXJSAMPLE+1) * SIZEOF(JSAMPLE)); | ||
205 | cconvert->range_limit += 2 * (MAXJSAMPLE+1); | ||
206 | /* Main part of range limit table: limit[x] = x */ | ||
207 | for (i = 0; i <= MAXJSAMPLE; i++) | ||
208 | cconvert->range_limit[i] = (JSAMPLE) i; | ||
209 | /* End of range limit table: limit[x] = MAXJSAMPLE for x > MAXJSAMPLE */ | ||
210 | for (; i < 3 * (MAXJSAMPLE+1); i++) | ||
211 | cconvert->range_limit[i] = MAXJSAMPLE; | ||
212 | } | ||
213 | |||
214 | |||
129 | /* | 215 | /* |
130 | * Convert some rows of samples to the output colorspace. | 216 | * Convert some rows of samples to the output colorspace. |
131 | * | 217 | * |
@@ -149,7 +235,7 @@ ycc_rgb_convert (j_decompress_ptr cinfo, | |||
149 | register JDIMENSION col; | 235 | register JDIMENSION col; |
150 | JDIMENSION num_cols = cinfo->output_width; | 236 | JDIMENSION num_cols = cinfo->output_width; |
151 | /* copy these pointers into registers if possible */ | 237 | /* copy these pointers into registers if possible */ |
152 | register JSAMPLE * range_limit = cinfo->sample_range_limit; | 238 | register JSAMPLE * range_limit = cconvert->range_limit; |
153 | register int * Crrtab = cconvert->Cr_r_tab; | 239 | register int * Crrtab = cconvert->Cr_r_tab; |
154 | register int * Cbbtab = cconvert->Cb_b_tab; | 240 | register int * Cbbtab = cconvert->Cb_b_tab; |
155 | register INT32 * Crgtab = cconvert->Cr_g_tab; | 241 | register INT32 * Crgtab = cconvert->Cr_g_tab; |
@@ -166,19 +252,21 @@ ycc_rgb_convert (j_decompress_ptr cinfo, | |||
166 | y = GETJSAMPLE(inptr0[col]); | 252 | y = GETJSAMPLE(inptr0[col]); |
167 | cb = GETJSAMPLE(inptr1[col]); | 253 | cb = GETJSAMPLE(inptr1[col]); |
168 | cr = GETJSAMPLE(inptr2[col]); | 254 | cr = GETJSAMPLE(inptr2[col]); |
169 | /* Range-limiting is essential due to noise introduced by DCT losses. */ | 255 | /* Range-limiting is essential due to noise introduced by DCT losses, |
170 | outptr[RGB_RED] = range_limit[y + Crrtab[cr]]; | 256 | * for extended gamut (sYCC) and wide gamut (bg-sYCC) encodings. |
257 | */ | ||
258 | outptr[RGB_RED] = range_limit[y + Crrtab[cr]]; | ||
171 | outptr[RGB_GREEN] = range_limit[y + | 259 | outptr[RGB_GREEN] = range_limit[y + |
172 | ((int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], | 260 | ((int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], |
173 | SCALEBITS))]; | 261 | SCALEBITS))]; |
174 | outptr[RGB_BLUE] = range_limit[y + Cbbtab[cb]]; | 262 | outptr[RGB_BLUE] = range_limit[y + Cbbtab[cb]]; |
175 | outptr += RGB_PIXELSIZE; | 263 | outptr += RGB_PIXELSIZE; |
176 | } | 264 | } |
177 | } | 265 | } |
178 | } | 266 | } |
179 | 267 | ||
180 | 268 | ||
181 | /**************** Cases other than YCbCr -> RGB **************/ | 269 | /**************** Cases other than YCC -> RGB ****************/ |
182 | 270 | ||
183 | 271 | ||
184 | /* | 272 | /* |
@@ -198,9 +286,9 @@ build_rgb_y_table (j_decompress_ptr cinfo) | |||
198 | (TABLE_SIZE * SIZEOF(INT32))); | 286 | (TABLE_SIZE * SIZEOF(INT32))); |
199 | 287 | ||
200 | for (i = 0; i <= MAXJSAMPLE; i++) { | 288 | for (i = 0; i <= MAXJSAMPLE; i++) { |
201 | rgb_y_tab[i+R_Y_OFF] = FIX(0.29900) * i; | 289 | rgb_y_tab[i+R_Y_OFF] = FIX(0.299) * i; |
202 | rgb_y_tab[i+G_Y_OFF] = FIX(0.58700) * i; | 290 | rgb_y_tab[i+G_Y_OFF] = FIX(0.587) * i; |
203 | rgb_y_tab[i+B_Y_OFF] = FIX(0.11400) * i + ONE_HALF; | 291 | rgb_y_tab[i+B_Y_OFF] = FIX(0.114) * i + ONE_HALF; |
204 | } | 292 | } |
205 | } | 293 | } |
206 | 294 | ||
@@ -215,8 +303,86 @@ rgb_gray_convert (j_decompress_ptr cinfo, | |||
215 | JSAMPARRAY output_buf, int num_rows) | 303 | JSAMPARRAY output_buf, int num_rows) |
216 | { | 304 | { |
217 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | 305 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; |
306 | register INT32 * ctab = cconvert->rgb_y_tab; | ||
307 | register int r, g, b; | ||
308 | register JSAMPROW outptr; | ||
309 | register JSAMPROW inptr0, inptr1, inptr2; | ||
310 | register JDIMENSION col; | ||
311 | JDIMENSION num_cols = cinfo->output_width; | ||
312 | |||
313 | while (--num_rows >= 0) { | ||
314 | inptr0 = input_buf[0][input_row]; | ||
315 | inptr1 = input_buf[1][input_row]; | ||
316 | inptr2 = input_buf[2][input_row]; | ||
317 | input_row++; | ||
318 | outptr = *output_buf++; | ||
319 | for (col = 0; col < num_cols; col++) { | ||
320 | r = GETJSAMPLE(inptr0[col]); | ||
321 | g = GETJSAMPLE(inptr1[col]); | ||
322 | b = GETJSAMPLE(inptr2[col]); | ||
323 | /* Y */ | ||
324 | outptr[col] = (JSAMPLE) | ||
325 | ((ctab[r+R_Y_OFF] + ctab[g+G_Y_OFF] + ctab[b+B_Y_OFF]) | ||
326 | >> SCALEBITS); | ||
327 | } | ||
328 | } | ||
329 | } | ||
330 | |||
331 | |||
332 | /* | ||
333 | * [R-G,G,B-G] to [R,G,B] conversion with modulo calculation | ||
334 | * (inverse color transform). | ||
335 | * This can be seen as an adaption of the general YCbCr->RGB | ||
336 | * conversion equation with Kr = Kb = 0, while replacing the | ||
337 | * normalization by modulo calculation. | ||
338 | */ | ||
339 | |||
340 | METHODDEF(void) | ||
341 | rgb1_rgb_convert (j_decompress_ptr cinfo, | ||
342 | JSAMPIMAGE input_buf, JDIMENSION input_row, | ||
343 | JSAMPARRAY output_buf, int num_rows) | ||
344 | { | ||
218 | register int r, g, b; | 345 | register int r, g, b; |
346 | register JSAMPROW outptr; | ||
347 | register JSAMPROW inptr0, inptr1, inptr2; | ||
348 | register JDIMENSION col; | ||
349 | JDIMENSION num_cols = cinfo->output_width; | ||
350 | |||
351 | while (--num_rows >= 0) { | ||
352 | inptr0 = input_buf[0][input_row]; | ||
353 | inptr1 = input_buf[1][input_row]; | ||
354 | inptr2 = input_buf[2][input_row]; | ||
355 | input_row++; | ||
356 | outptr = *output_buf++; | ||
357 | for (col = 0; col < num_cols; col++) { | ||
358 | r = GETJSAMPLE(inptr0[col]); | ||
359 | g = GETJSAMPLE(inptr1[col]); | ||
360 | b = GETJSAMPLE(inptr2[col]); | ||
361 | /* Assume that MAXJSAMPLE+1 is a power of 2, so that the MOD | ||
362 | * (modulo) operator is equivalent to the bitmask operator AND. | ||
363 | */ | ||
364 | outptr[RGB_RED] = (JSAMPLE) ((r + g - CENTERJSAMPLE) & MAXJSAMPLE); | ||
365 | outptr[RGB_GREEN] = (JSAMPLE) g; | ||
366 | outptr[RGB_BLUE] = (JSAMPLE) ((b + g - CENTERJSAMPLE) & MAXJSAMPLE); | ||
367 | outptr += RGB_PIXELSIZE; | ||
368 | } | ||
369 | } | ||
370 | } | ||
371 | |||
372 | |||
373 | /* | ||
374 | * [R-G,G,B-G] to grayscale conversion with modulo calculation | ||
375 | * (inverse color transform). | ||
376 | */ | ||
377 | |||
378 | METHODDEF(void) | ||
379 | rgb1_gray_convert (j_decompress_ptr cinfo, | ||
380 | JSAMPIMAGE input_buf, JDIMENSION input_row, | ||
381 | JSAMPARRAY output_buf, int num_rows) | ||
382 | { | ||
383 | my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert; | ||
219 | register INT32 * ctab = cconvert->rgb_y_tab; | 384 | register INT32 * ctab = cconvert->rgb_y_tab; |
385 | register int r, g, b; | ||
220 | register JSAMPROW outptr; | 386 | register JSAMPROW outptr; |
221 | register JSAMPROW inptr0, inptr1, inptr2; | 387 | register JSAMPROW inptr0, inptr1, inptr2; |
222 | register JDIMENSION col; | 388 | register JDIMENSION col; |
@@ -232,6 +398,11 @@ rgb_gray_convert (j_decompress_ptr cinfo, | |||
232 | r = GETJSAMPLE(inptr0[col]); | 398 | r = GETJSAMPLE(inptr0[col]); |
233 | g = GETJSAMPLE(inptr1[col]); | 399 | g = GETJSAMPLE(inptr1[col]); |
234 | b = GETJSAMPLE(inptr2[col]); | 400 | b = GETJSAMPLE(inptr2[col]); |
401 | /* Assume that MAXJSAMPLE+1 is a power of 2, so that the MOD | ||
402 | * (modulo) operator is equivalent to the bitmask operator AND. | ||
403 | */ | ||
404 | r = (r + g - CENTERJSAMPLE) & MAXJSAMPLE; | ||
405 | b = (b + g - CENTERJSAMPLE) & MAXJSAMPLE; | ||
235 | /* Y */ | 406 | /* Y */ |
236 | outptr[col] = (JSAMPLE) | 407 | outptr[col] = (JSAMPLE) |
237 | ((ctab[r+R_Y_OFF] + ctab[g+G_Y_OFF] + ctab[b+B_Y_OFF]) | 408 | ((ctab[r+R_Y_OFF] + ctab[g+G_Y_OFF] + ctab[b+B_Y_OFF]) |
@@ -283,19 +454,20 @@ null_convert (j_decompress_ptr cinfo, | |||
283 | JSAMPIMAGE input_buf, JDIMENSION input_row, | 454 | JSAMPIMAGE input_buf, JDIMENSION input_row, |
284 | JSAMPARRAY output_buf, int num_rows) | 455 | JSAMPARRAY output_buf, int num_rows) |
285 | { | 456 | { |
286 | register JSAMPROW inptr, outptr; | ||
287 | register JDIMENSION count; | ||
288 | register int num_components = cinfo->num_components; | ||
289 | JDIMENSION num_cols = cinfo->output_width; | ||
290 | int ci; | 457 | int ci; |
458 | register int nc = cinfo->num_components; | ||
459 | register JSAMPROW outptr; | ||
460 | register JSAMPROW inptr; | ||
461 | register JDIMENSION col; | ||
462 | JDIMENSION num_cols = cinfo->output_width; | ||
291 | 463 | ||
292 | while (--num_rows >= 0) { | 464 | while (--num_rows >= 0) { |
293 | for (ci = 0; ci < num_components; ci++) { | 465 | for (ci = 0; ci < nc; ci++) { |
294 | inptr = input_buf[ci][input_row]; | 466 | inptr = input_buf[ci][input_row]; |
295 | outptr = output_buf[0] + ci; | 467 | outptr = output_buf[0] + ci; |
296 | for (count = num_cols; count > 0; count--) { | 468 | for (col = 0; col < num_cols; col++) { |
297 | *outptr = *inptr++; /* needn't bother with GETJSAMPLE() here */ | 469 | *outptr = *inptr++; /* needn't bother with GETJSAMPLE() here */ |
298 | outptr += num_components; | 470 | outptr += nc; |
299 | } | 471 | } |
300 | } | 472 | } |
301 | input_row++; | 473 | input_row++; |
@@ -306,7 +478,7 @@ null_convert (j_decompress_ptr cinfo, | |||
306 | 478 | ||
307 | /* | 479 | /* |
308 | * Color conversion for grayscale: just copy the data. | 480 | * Color conversion for grayscale: just copy the data. |
309 | * This also works for YCbCr -> grayscale conversion, in which | 481 | * This also works for YCC -> grayscale conversion, in which |
310 | * we just copy the Y (luminance) component and ignore chrominance. | 482 | * we just copy the Y (luminance) component and ignore chrominance. |
311 | */ | 483 | */ |
312 | 484 | ||
@@ -331,7 +503,8 @@ gray_rgb_convert (j_decompress_ptr cinfo, | |||
331 | JSAMPIMAGE input_buf, JDIMENSION input_row, | 503 | JSAMPIMAGE input_buf, JDIMENSION input_row, |
332 | JSAMPARRAY output_buf, int num_rows) | 504 | JSAMPARRAY output_buf, int num_rows) |
333 | { | 505 | { |
334 | register JSAMPROW inptr, outptr; | 506 | register JSAMPROW outptr; |
507 | register JSAMPROW inptr; | ||
335 | register JDIMENSION col; | 508 | register JDIMENSION col; |
336 | JDIMENSION num_cols = cinfo->output_width; | 509 | JDIMENSION num_cols = cinfo->output_width; |
337 | 510 | ||
@@ -384,7 +557,9 @@ ycck_cmyk_convert (j_decompress_ptr cinfo, | |||
384 | y = GETJSAMPLE(inptr0[col]); | 557 | y = GETJSAMPLE(inptr0[col]); |
385 | cb = GETJSAMPLE(inptr1[col]); | 558 | cb = GETJSAMPLE(inptr1[col]); |
386 | cr = GETJSAMPLE(inptr2[col]); | 559 | cr = GETJSAMPLE(inptr2[col]); |
387 | /* Range-limiting is essential due to noise introduced by DCT losses. */ | 560 | /* Range-limiting is essential due to noise introduced by DCT losses, |
561 | * and for extended gamut encodings (sYCC). | ||
562 | */ | ||
388 | outptr[0] = range_limit[MAXJSAMPLE - (y + Crrtab[cr])]; /* red */ | 563 | outptr[0] = range_limit[MAXJSAMPLE - (y + Crrtab[cr])]; /* red */ |
389 | outptr[1] = range_limit[MAXJSAMPLE - (y + /* green */ | 564 | outptr[1] = range_limit[MAXJSAMPLE - (y + /* green */ |
390 | ((int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], | 565 | ((int) RIGHT_SHIFT(Cbgtab[cb] + Crgtab[cr], |
@@ -422,7 +597,7 @@ jinit_color_deconverter (j_decompress_ptr cinfo) | |||
422 | cconvert = (my_cconvert_ptr) | 597 | cconvert = (my_cconvert_ptr) |
423 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 598 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
424 | SIZEOF(my_color_deconverter)); | 599 | SIZEOF(my_color_deconverter)); |
425 | cinfo->cconvert = (struct jpeg_color_deconverter *) cconvert; | 600 | cinfo->cconvert = &cconvert->pub; |
426 | cconvert->pub.start_pass = start_pass_dcolor; | 601 | cconvert->pub.start_pass = start_pass_dcolor; |
427 | 602 | ||
428 | /* Make sure num_components agrees with jpeg_color_space */ | 603 | /* Make sure num_components agrees with jpeg_color_space */ |
@@ -434,6 +609,8 @@ jinit_color_deconverter (j_decompress_ptr cinfo) | |||
434 | 609 | ||
435 | case JCS_RGB: | 610 | case JCS_RGB: |
436 | case JCS_YCbCr: | 611 | case JCS_YCbCr: |
612 | case JCS_BG_RGB: | ||
613 | case JCS_BG_YCC: | ||
437 | if (cinfo->num_components != 3) | 614 | if (cinfo->num_components != 3) |
438 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); | 615 | ERREXIT(cinfo, JERR_BAD_J_COLORSPACE); |
439 | break; | 616 | break; |
@@ -450,6 +627,12 @@ jinit_color_deconverter (j_decompress_ptr cinfo) | |||
450 | break; | 627 | break; |
451 | } | 628 | } |
452 | 629 | ||
630 | /* Support color transform only for RGB colorspaces */ | ||
631 | if (cinfo->color_transform && | ||
632 | cinfo->jpeg_color_space != JCS_RGB && | ||
633 | cinfo->jpeg_color_space != JCS_BG_RGB) | ||
634 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
635 | |||
453 | /* Set out_color_components and conversion method based on requested space. | 636 | /* Set out_color_components and conversion method based on requested space. |
454 | * Also clear the component_needed flags for any unused components, | 637 | * Also clear the component_needed flags for any unused components, |
455 | * so that earlier pipeline stages can avoid useless computation. | 638 | * so that earlier pipeline stages can avoid useless computation. |
@@ -458,41 +641,94 @@ jinit_color_deconverter (j_decompress_ptr cinfo) | |||
458 | switch (cinfo->out_color_space) { | 641 | switch (cinfo->out_color_space) { |
459 | case JCS_GRAYSCALE: | 642 | case JCS_GRAYSCALE: |
460 | cinfo->out_color_components = 1; | 643 | cinfo->out_color_components = 1; |
461 | if (cinfo->jpeg_color_space == JCS_GRAYSCALE || | 644 | switch (cinfo->jpeg_color_space) { |
462 | cinfo->jpeg_color_space == JCS_YCbCr) { | 645 | case JCS_GRAYSCALE: |
646 | case JCS_YCbCr: | ||
647 | case JCS_BG_YCC: | ||
463 | cconvert->pub.color_convert = grayscale_convert; | 648 | cconvert->pub.color_convert = grayscale_convert; |
464 | /* For color->grayscale conversion, only the Y (0) component is needed */ | 649 | /* For color->grayscale conversion, only the Y (0) component is needed */ |
465 | for (ci = 1; ci < cinfo->num_components; ci++) | 650 | for (ci = 1; ci < cinfo->num_components; ci++) |
466 | cinfo->comp_info[ci].component_needed = FALSE; | 651 | cinfo->comp_info[ci].component_needed = FALSE; |
467 | } else if (cinfo->jpeg_color_space == JCS_RGB) { | 652 | break; |
468 | cconvert->pub.color_convert = rgb_gray_convert; | 653 | case JCS_RGB: |
654 | switch (cinfo->color_transform) { | ||
655 | case JCT_NONE: | ||
656 | cconvert->pub.color_convert = rgb_gray_convert; | ||
657 | break; | ||
658 | case JCT_SUBTRACT_GREEN: | ||
659 | cconvert->pub.color_convert = rgb1_gray_convert; | ||
660 | break; | ||
661 | default: | ||
662 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
663 | } | ||
469 | build_rgb_y_table(cinfo); | 664 | build_rgb_y_table(cinfo); |
470 | } else | 665 | break; |
666 | default: | ||
471 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | 667 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); |
668 | } | ||
472 | break; | 669 | break; |
473 | 670 | ||
474 | case JCS_RGB: | 671 | case JCS_RGB: |
475 | cinfo->out_color_components = RGB_PIXELSIZE; | 672 | cinfo->out_color_components = RGB_PIXELSIZE; |
476 | if (cinfo->jpeg_color_space == JCS_YCbCr) { | 673 | switch (cinfo->jpeg_color_space) { |
674 | case JCS_GRAYSCALE: | ||
675 | cconvert->pub.color_convert = gray_rgb_convert; | ||
676 | break; | ||
677 | case JCS_YCbCr: | ||
477 | cconvert->pub.color_convert = ycc_rgb_convert; | 678 | cconvert->pub.color_convert = ycc_rgb_convert; |
478 | build_ycc_rgb_table(cinfo); | 679 | build_ycc_rgb_table(cinfo); |
479 | } else if (cinfo->jpeg_color_space == JCS_GRAYSCALE) { | 680 | break; |
480 | cconvert->pub.color_convert = gray_rgb_convert; | 681 | case JCS_BG_YCC: |
481 | } else if (cinfo->jpeg_color_space == JCS_RGB) { | 682 | cconvert->pub.color_convert = ycc_rgb_convert; |
482 | cconvert->pub.color_convert = rgb_convert; | 683 | build_bg_ycc_rgb_table(cinfo); |
684 | break; | ||
685 | case JCS_RGB: | ||
686 | switch (cinfo->color_transform) { | ||
687 | case JCT_NONE: | ||
688 | cconvert->pub.color_convert = rgb_convert; | ||
689 | break; | ||
690 | case JCT_SUBTRACT_GREEN: | ||
691 | cconvert->pub.color_convert = rgb1_rgb_convert; | ||
692 | break; | ||
693 | default: | ||
694 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
695 | } | ||
696 | break; | ||
697 | default: | ||
698 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
699 | } | ||
700 | break; | ||
701 | |||
702 | case JCS_BG_RGB: | ||
703 | cinfo->out_color_components = RGB_PIXELSIZE; | ||
704 | if (cinfo->jpeg_color_space == JCS_BG_RGB) { | ||
705 | switch (cinfo->color_transform) { | ||
706 | case JCT_NONE: | ||
707 | cconvert->pub.color_convert = rgb_convert; | ||
708 | break; | ||
709 | case JCT_SUBTRACT_GREEN: | ||
710 | cconvert->pub.color_convert = rgb1_rgb_convert; | ||
711 | break; | ||
712 | default: | ||
713 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
714 | } | ||
483 | } else | 715 | } else |
484 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | 716 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); |
485 | break; | 717 | break; |
486 | 718 | ||
487 | case JCS_CMYK: | 719 | case JCS_CMYK: |
488 | cinfo->out_color_components = 4; | 720 | cinfo->out_color_components = 4; |
489 | if (cinfo->jpeg_color_space == JCS_YCCK) { | 721 | switch (cinfo->jpeg_color_space) { |
722 | case JCS_YCCK: | ||
490 | cconvert->pub.color_convert = ycck_cmyk_convert; | 723 | cconvert->pub.color_convert = ycck_cmyk_convert; |
491 | build_ycc_rgb_table(cinfo); | 724 | build_ycc_rgb_table(cinfo); |
492 | } else if (cinfo->jpeg_color_space == JCS_CMYK) { | 725 | break; |
726 | case JCS_CMYK: | ||
493 | cconvert->pub.color_convert = null_convert; | 727 | cconvert->pub.color_convert = null_convert; |
494 | } else | 728 | break; |
729 | default: | ||
495 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | 730 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); |
731 | } | ||
496 | break; | 732 | break; |
497 | 733 | ||
498 | default: | 734 | default: |
diff --git a/gs/jpeg/jddctmgr.c b/gs/jpeg/jddctmgr.c index 0ded9d574..9ecfbb510 100644 --- a/gs/jpeg/jddctmgr.c +++ b/gs/jpeg/jddctmgr.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jddctmgr.c | 2 | * jddctmgr.c |
3 | * | 3 | * |
4 | * Copyright (C) 1994-1996, Thomas G. Lane. | 4 | * Copyright (C) 1994-1996, Thomas G. Lane. |
5 | * Modified 2002-2010 by Guido Vollbeding. | 5 | * Modified 2002-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -368,7 +368,7 @@ jinit_inverse_dct (j_decompress_ptr cinfo) | |||
368 | idct = (my_idct_ptr) | 368 | idct = (my_idct_ptr) |
369 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 369 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
370 | SIZEOF(my_idct_controller)); | 370 | SIZEOF(my_idct_controller)); |
371 | cinfo->idct = (struct jpeg_inverse_dct *) idct; | 371 | cinfo->idct = &idct->pub; |
372 | idct->pub.start_pass = start_pass; | 372 | idct->pub.start_pass = start_pass; |
373 | 373 | ||
374 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; | 374 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; |
diff --git a/gs/jpeg/jdhuff.c b/gs/jpeg/jdhuff.c index 06f92fe47..6920e207c 100644 --- a/gs/jpeg/jdhuff.c +++ b/gs/jpeg/jdhuff.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jdhuff.c | 2 | * jdhuff.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 2006-2009 by Guido Vollbeding. | 5 | * Modified 2006-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -628,6 +628,22 @@ jpeg_huff_decode (bitread_working_state * state, | |||
628 | 628 | ||
629 | 629 | ||
630 | /* | 630 | /* |
631 | * Finish up at the end of a Huffman-compressed scan. | ||
632 | */ | ||
633 | |||
634 | METHODDEF(void) | ||
635 | finish_pass_huff (j_decompress_ptr cinfo) | ||
636 | { | ||
637 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | ||
638 | |||
639 | /* Throw away any unused bits remaining in bit buffer; */ | ||
640 | /* include any full bytes in next_marker's count of discarded bytes */ | ||
641 | cinfo->marker->discarded_bytes += entropy->bitstate.bits_left / 8; | ||
642 | entropy->bitstate.bits_left = 0; | ||
643 | } | ||
644 | |||
645 | |||
646 | /* | ||
631 | * Check for a restart marker & resynchronize decoder. | 647 | * Check for a restart marker & resynchronize decoder. |
632 | * Returns FALSE if must suspend. | 648 | * Returns FALSE if must suspend. |
633 | */ | 649 | */ |
@@ -638,10 +654,7 @@ process_restart (j_decompress_ptr cinfo) | |||
638 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | 654 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; |
639 | int ci; | 655 | int ci; |
640 | 656 | ||
641 | /* Throw away any unused bits remaining in bit buffer; */ | 657 | finish_pass_huff(cinfo); |
642 | /* include any full bytes in next_marker's count of discarded bytes */ | ||
643 | cinfo->marker->discarded_bytes += entropy->bitstate.bits_left / 8; | ||
644 | entropy->bitstate.bits_left = 0; | ||
645 | 658 | ||
646 | /* Advance past the RSTn marker */ | 659 | /* Advance past the RSTn marker */ |
647 | if (! (*cinfo->marker->read_restart_marker) (cinfo)) | 660 | if (! (*cinfo->marker->read_restart_marker) (cinfo)) |
@@ -797,7 +810,7 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
797 | 810 | ||
798 | /* There is always only one block per MCU */ | 811 | /* There is always only one block per MCU */ |
799 | 812 | ||
800 | if (EOBRUN > 0) /* if it's a band of zeroes... */ | 813 | if (EOBRUN) /* if it's a band of zeroes... */ |
801 | EOBRUN--; /* ...process it now (we do nothing) */ | 814 | EOBRUN--; /* ...process it now (we do nothing) */ |
802 | else { | 815 | else { |
803 | BITREAD_LOAD_STATE(cinfo,entropy->bitstate); | 816 | BITREAD_LOAD_STATE(cinfo,entropy->bitstate); |
@@ -816,18 +829,17 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
816 | /* Scale and output coefficient in natural (dezigzagged) order */ | 829 | /* Scale and output coefficient in natural (dezigzagged) order */ |
817 | (*block)[natural_order[k]] = (JCOEF) (s << Al); | 830 | (*block)[natural_order[k]] = (JCOEF) (s << Al); |
818 | } else { | 831 | } else { |
819 | if (r == 15) { /* ZRL */ | 832 | if (r != 15) { /* EOBr, run length is 2^r + appended bits */ |
820 | k += 15; /* skip 15 zeroes in band */ | ||
821 | } else { /* EOBr, run length is 2^r + appended bits */ | ||
822 | EOBRUN = 1 << r; | ||
823 | if (r) { /* EOBr, r > 0 */ | 833 | if (r) { /* EOBr, r > 0 */ |
834 | EOBRUN = 1 << r; | ||
824 | CHECK_BIT_BUFFER(br_state, r, return FALSE); | 835 | CHECK_BIT_BUFFER(br_state, r, return FALSE); |
825 | r = GET_BITS(r); | 836 | r = GET_BITS(r); |
826 | EOBRUN += r; | 837 | EOBRUN += r; |
838 | EOBRUN--; /* this band is processed at this moment */ | ||
827 | } | 839 | } |
828 | EOBRUN--; /* this band is processed at this moment */ | ||
829 | break; /* force end-of-band */ | 840 | break; /* force end-of-band */ |
830 | } | 841 | } |
842 | k += 15; /* ZRL: skip 15 zeroes in band */ | ||
831 | } | 843 | } |
832 | } | 844 | } |
833 | 845 | ||
@@ -847,17 +859,15 @@ decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
847 | 859 | ||
848 | /* | 860 | /* |
849 | * MCU decoding for DC successive approximation refinement scan. | 861 | * MCU decoding for DC successive approximation refinement scan. |
850 | * Note: we assume such scans can be multi-component, although the spec | 862 | * Note: we assume such scans can be multi-component, |
851 | * is not very clear on the point. | 863 | * although the spec is not very clear on the point. |
852 | */ | 864 | */ |
853 | 865 | ||
854 | METHODDEF(boolean) | 866 | METHODDEF(boolean) |
855 | decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | 867 | decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) |
856 | { | 868 | { |
857 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; | 869 | huff_entropy_ptr entropy = (huff_entropy_ptr) cinfo->entropy; |
858 | int p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ | 870 | int p1, blkn; |
859 | int blkn; | ||
860 | JBLOCKROW block; | ||
861 | BITREAD_STATE_VARS; | 871 | BITREAD_STATE_VARS; |
862 | 872 | ||
863 | /* Process restart marker if needed; may have to suspend */ | 873 | /* Process restart marker if needed; may have to suspend */ |
@@ -874,15 +884,15 @@ decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
874 | /* Load up working state */ | 884 | /* Load up working state */ |
875 | BITREAD_LOAD_STATE(cinfo,entropy->bitstate); | 885 | BITREAD_LOAD_STATE(cinfo,entropy->bitstate); |
876 | 886 | ||
887 | p1 = 1 << cinfo->Al; /* 1 in the bit position being coded */ | ||
888 | |||
877 | /* Outer loop handles each block in the MCU */ | 889 | /* Outer loop handles each block in the MCU */ |
878 | 890 | ||
879 | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { | 891 | for (blkn = 0; blkn < cinfo->blocks_in_MCU; blkn++) { |
880 | block = MCU_data[blkn]; | ||
881 | |||
882 | /* Encoded data is simply the next bit of the two's-complement DC value */ | 892 | /* Encoded data is simply the next bit of the two's-complement DC value */ |
883 | CHECK_BIT_BUFFER(br_state, 1, return FALSE); | 893 | CHECK_BIT_BUFFER(br_state, 1, return FALSE); |
884 | if (GET_BITS(1)) | 894 | if (GET_BITS(1)) |
885 | (*block)[0] |= p1; | 895 | MCU_data[blkn][0][0] |= p1; |
886 | /* Note: since we use |=, repeating the assignment later is safe */ | 896 | /* Note: since we use |=, repeating the assignment later is safe */ |
887 | } | 897 | } |
888 | 898 | ||
@@ -951,7 +961,7 @@ decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
951 | k = cinfo->Ss; | 961 | k = cinfo->Ss; |
952 | 962 | ||
953 | if (EOBRUN == 0) { | 963 | if (EOBRUN == 0) { |
954 | for (; k <= Se; k++) { | 964 | do { |
955 | HUFF_DECODE(s, br_state, tbl, goto undoit, label3); | 965 | HUFF_DECODE(s, br_state, tbl, goto undoit, label3); |
956 | r = s >> 4; | 966 | r = s >> 4; |
957 | s &= 15; | 967 | s &= 15; |
@@ -981,7 +991,7 @@ decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
981 | */ | 991 | */ |
982 | do { | 992 | do { |
983 | thiscoef = *block + natural_order[k]; | 993 | thiscoef = *block + natural_order[k]; |
984 | if (*thiscoef != 0) { | 994 | if (*thiscoef) { |
985 | CHECK_BIT_BUFFER(br_state, 1, goto undoit); | 995 | CHECK_BIT_BUFFER(br_state, 1, goto undoit); |
986 | if (GET_BITS(1)) { | 996 | if (GET_BITS(1)) { |
987 | if ((*thiscoef & p1) == 0) { /* do nothing if already set it */ | 997 | if ((*thiscoef & p1) == 0) { /* do nothing if already set it */ |
@@ -1004,18 +1014,19 @@ decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
1004 | /* Remember its position in case we have to suspend */ | 1014 | /* Remember its position in case we have to suspend */ |
1005 | newnz_pos[num_newnz++] = pos; | 1015 | newnz_pos[num_newnz++] = pos; |
1006 | } | 1016 | } |
1007 | } | 1017 | k++; |
1018 | } while (k <= Se); | ||
1008 | } | 1019 | } |
1009 | 1020 | ||
1010 | if (EOBRUN > 0) { | 1021 | if (EOBRUN) { |
1011 | /* Scan any remaining coefficient positions after the end-of-band | 1022 | /* Scan any remaining coefficient positions after the end-of-band |
1012 | * (the last newly nonzero coefficient, if any). Append a correction | 1023 | * (the last newly nonzero coefficient, if any). Append a correction |
1013 | * bit to each already-nonzero coefficient. A correction bit is 1 | 1024 | * bit to each already-nonzero coefficient. A correction bit is 1 |
1014 | * if the absolute value of the coefficient must be increased. | 1025 | * if the absolute value of the coefficient must be increased. |
1015 | */ | 1026 | */ |
1016 | for (; k <= Se; k++) { | 1027 | do { |
1017 | thiscoef = *block + natural_order[k]; | 1028 | thiscoef = *block + natural_order[k]; |
1018 | if (*thiscoef != 0) { | 1029 | if (*thiscoef) { |
1019 | CHECK_BIT_BUFFER(br_state, 1, goto undoit); | 1030 | CHECK_BIT_BUFFER(br_state, 1, goto undoit); |
1020 | if (GET_BITS(1)) { | 1031 | if (GET_BITS(1)) { |
1021 | if ((*thiscoef & p1) == 0) { /* do nothing if already changed it */ | 1032 | if ((*thiscoef & p1) == 0) { /* do nothing if already changed it */ |
@@ -1026,7 +1037,8 @@ decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
1026 | } | 1037 | } |
1027 | } | 1038 | } |
1028 | } | 1039 | } |
1029 | } | 1040 | k++; |
1041 | } while (k <= Se); | ||
1030 | /* Count one block completed in EOB run */ | 1042 | /* Count one block completed in EOB run */ |
1031 | EOBRUN--; | 1043 | EOBRUN--; |
1032 | } | 1044 | } |
@@ -1043,7 +1055,7 @@ decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |||
1043 | 1055 | ||
1044 | undoit: | 1056 | undoit: |
1045 | /* Re-zero any output coefficients that we made newly nonzero */ | 1057 | /* Re-zero any output coefficients that we made newly nonzero */ |
1046 | while (num_newnz > 0) | 1058 | while (num_newnz) |
1047 | (*block)[newnz_pos[--num_newnz]] = 0; | 1059 | (*block)[newnz_pos[--num_newnz]] = 0; |
1048 | 1060 | ||
1049 | return FALSE; | 1061 | return FALSE; |
@@ -1514,8 +1526,9 @@ jinit_huff_decoder (j_decompress_ptr cinfo) | |||
1514 | entropy = (huff_entropy_ptr) | 1526 | entropy = (huff_entropy_ptr) |
1515 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 1527 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
1516 | SIZEOF(huff_entropy_decoder)); | 1528 | SIZEOF(huff_entropy_decoder)); |
1517 | cinfo->entropy = (struct jpeg_entropy_decoder *) entropy; | 1529 | cinfo->entropy = &entropy->pub; |
1518 | entropy->pub.start_pass = start_pass_huff_decoder; | 1530 | entropy->pub.start_pass = start_pass_huff_decoder; |
1531 | entropy->pub.finish_pass = finish_pass_huff; | ||
1519 | 1532 | ||
1520 | if (cinfo->progressive_mode) { | 1533 | if (cinfo->progressive_mode) { |
1521 | /* Create progression status table */ | 1534 | /* Create progression status table */ |
diff --git a/gs/jpeg/jdinput.c b/gs/jpeg/jdinput.c index 2c5c717b9..0199553e8 100644 --- a/gs/jpeg/jdinput.c +++ b/gs/jpeg/jdinput.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jdinput.c | 2 | * jdinput.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 2002-2009 by Guido Vollbeding. | 5 | * Modified 2002-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -196,7 +196,7 @@ jpeg_core_output_dimensions (j_decompress_ptr cinfo) | |||
196 | /* Hardwire it to "no scaling" */ | 196 | /* Hardwire it to "no scaling" */ |
197 | cinfo->output_width = cinfo->image_width; | 197 | cinfo->output_width = cinfo->image_width; |
198 | cinfo->output_height = cinfo->image_height; | 198 | cinfo->output_height = cinfo->image_height; |
199 | /* jdinput.c has already initialized DCT_scaled_size, | 199 | /* initial_setup has already initialized DCT_scaled_size, |
200 | * and has computed unscaled downsampled_width and downsampled_height. | 200 | * and has computed unscaled downsampled_width and downsampled_height. |
201 | */ | 201 | */ |
202 | 202 | ||
@@ -216,8 +216,8 @@ initial_setup (j_decompress_ptr cinfo) | |||
216 | (long) cinfo->image_width > (long) JPEG_MAX_DIMENSION) | 216 | (long) cinfo->image_width > (long) JPEG_MAX_DIMENSION) |
217 | ERREXIT1(cinfo, JERR_IMAGE_TOO_BIG, (unsigned int) JPEG_MAX_DIMENSION); | 217 | ERREXIT1(cinfo, JERR_IMAGE_TOO_BIG, (unsigned int) JPEG_MAX_DIMENSION); |
218 | 218 | ||
219 | /* For now, precision must match compiled-in value... */ | 219 | /* Only 8 to 12 bits data precision are supported for DCT based JPEG */ |
220 | if (cinfo->data_precision != BITS_IN_JSAMPLE) | 220 | if (cinfo->data_precision < 8 || cinfo->data_precision > 12) |
221 | ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision); | 221 | ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision); |
222 | 222 | ||
223 | /* Check that number of components won't exceed internal array sizes */ | 223 | /* Check that number of components won't exceed internal array sizes */ |
@@ -537,6 +537,7 @@ start_input_pass (j_decompress_ptr cinfo) | |||
537 | METHODDEF(void) | 537 | METHODDEF(void) |
538 | finish_input_pass (j_decompress_ptr cinfo) | 538 | finish_input_pass (j_decompress_ptr cinfo) |
539 | { | 539 | { |
540 | (*cinfo->entropy->finish_pass) (cinfo); | ||
540 | cinfo->inputctl->consume_input = consume_markers; | 541 | cinfo->inputctl->consume_input = consume_markers; |
541 | } | 542 | } |
542 | 543 | ||
@@ -646,7 +647,7 @@ jinit_input_controller (j_decompress_ptr cinfo) | |||
646 | inputctl = (my_inputctl_ptr) | 647 | inputctl = (my_inputctl_ptr) |
647 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, | 648 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, |
648 | SIZEOF(my_input_controller)); | 649 | SIZEOF(my_input_controller)); |
649 | cinfo->inputctl = (struct jpeg_input_controller *) inputctl; | 650 | cinfo->inputctl = &inputctl->pub; |
650 | /* Initialize method pointers */ | 651 | /* Initialize method pointers */ |
651 | inputctl->pub.consume_input = consume_markers; | 652 | inputctl->pub.consume_input = consume_markers; |
652 | inputctl->pub.reset_input_controller = reset_input_controller; | 653 | inputctl->pub.reset_input_controller = reset_input_controller; |
diff --git a/gs/jpeg/jdmainct.c b/gs/jpeg/jdmainct.c index d049856a4..52091fb2b 100644 --- a/gs/jpeg/jdmainct.c +++ b/gs/jpeg/jdmainct.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * jdmainct.c | 2 | * jdmainct.c |
3 | * | 3 | * |
4 | * Copyright (C) 1994-1996, Thomas G. Lane. | 4 | * Copyright (C) 1994-1996, Thomas G. Lane. |
5 | * Modified 2002-2012 by Guido Vollbeding. | ||
5 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 8 | * |
@@ -159,7 +160,7 @@ alloc_funny_pointers (j_decompress_ptr cinfo) | |||
159 | * This is done only once, not once per pass. | 160 | * This is done only once, not once per pass. |
160 | */ | 161 | */ |
161 | { | 162 | { |
162 | my_main_ptr pmain = (my_main_ptr) cinfo->main; | 163 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
163 | int ci, rgroup; | 164 | int ci, rgroup; |
164 | int M = cinfo->min_DCT_v_scaled_size; | 165 | int M = cinfo->min_DCT_v_scaled_size; |
165 | jpeg_component_info *compptr; | 166 | jpeg_component_info *compptr; |
@@ -168,10 +169,10 @@ alloc_funny_pointers (j_decompress_ptr cinfo) | |||
168 | /* Get top-level space for component array pointers. | 169 | /* Get top-level space for component array pointers. |
169 | * We alloc both arrays with one call to save a few cycles. | 170 | * We alloc both arrays with one call to save a few cycles. |
170 | */ | 171 | */ |
171 | pmain->xbuffer[0] = (JSAMPIMAGE) | 172 | mainp->xbuffer[0] = (JSAMPIMAGE) |
172 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 173 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
173 | cinfo->num_components * 2 * SIZEOF(JSAMPARRAY)); | 174 | cinfo->num_components * 2 * SIZEOF(JSAMPARRAY)); |
174 | pmain->xbuffer[1] = pmain->xbuffer[0] + cinfo->num_components; | 175 | mainp->xbuffer[1] = mainp->xbuffer[0] + cinfo->num_components; |
175 | 176 | ||
176 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; | 177 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; |
177 | ci++, compptr++) { | 178 | ci++, compptr++) { |
@@ -184,9 +185,9 @@ alloc_funny_pointers (j_decompress_ptr cinfo) | |||
184 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 185 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
185 | 2 * (rgroup * (M + 4)) * SIZEOF(JSAMPROW)); | 186 | 2 * (rgroup * (M + 4)) * SIZEOF(JSAMPROW)); |
186 | xbuf += rgroup; /* want one row group at negative offsets */ | 187 | xbuf += rgroup; /* want one row group at negative offsets */ |
187 | pmain->xbuffer[0][ci] = xbuf; | 188 | mainp->xbuffer[0][ci] = xbuf; |
188 | xbuf += rgroup * (M + 4); | 189 | xbuf += rgroup * (M + 4); |
189 | pmain->xbuffer[1][ci] = xbuf; | 190 | mainp->xbuffer[1][ci] = xbuf; |
190 | } | 191 | } |
191 | } | 192 | } |
192 | 193 | ||
@@ -194,13 +195,13 @@ alloc_funny_pointers (j_decompress_ptr cinfo) | |||
194 | LOCAL(void) | 195 | LOCAL(void) |
195 | make_funny_pointers (j_decompress_ptr cinfo) | 196 | make_funny_pointers (j_decompress_ptr cinfo) |
196 | /* Create the funny pointer lists discussed in the comments above. | 197 | /* Create the funny pointer lists discussed in the comments above. |
197 | * The actual workspace is already allocated (in pmain->buffer), | 198 | * The actual workspace is already allocated (in main->buffer), |
198 | * and the space for the pointer lists is allocated too. | 199 | * and the space for the pointer lists is allocated too. |
199 | * This routine just fills in the curiously ordered lists. | 200 | * This routine just fills in the curiously ordered lists. |
200 | * This will be repeated at the beginning of each pass. | 201 | * This will be repeated at the beginning of each pass. |
201 | */ | 202 | */ |
202 | { | 203 | { |
203 | my_main_ptr pmain = (my_main_ptr) cinfo->main; | 204 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
204 | int ci, i, rgroup; | 205 | int ci, i, rgroup; |
205 | int M = cinfo->min_DCT_v_scaled_size; | 206 | int M = cinfo->min_DCT_v_scaled_size; |
206 | jpeg_component_info *compptr; | 207 | jpeg_component_info *compptr; |
@@ -210,10 +211,10 @@ make_funny_pointers (j_decompress_ptr cinfo) | |||
210 | ci++, compptr++) { | 211 | ci++, compptr++) { |
211 | rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / | 212 | rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / |
212 | cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ | 213 | cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ |
213 | xbuf0 = pmain->xbuffer[0][ci]; | 214 | xbuf0 = mainp->xbuffer[0][ci]; |
214 | xbuf1 = pmain->xbuffer[1][ci]; | 215 | xbuf1 = mainp->xbuffer[1][ci]; |
215 | /* First copy the workspace pointers as-is */ | 216 | /* First copy the workspace pointers as-is */ |
216 | buf = pmain->buffer[ci]; | 217 | buf = mainp->buffer[ci]; |
217 | for (i = 0; i < rgroup * (M + 2); i++) { | 218 | for (i = 0; i < rgroup * (M + 2); i++) { |
218 | xbuf0[i] = xbuf1[i] = buf[i]; | 219 | xbuf0[i] = xbuf1[i] = buf[i]; |
219 | } | 220 | } |
@@ -240,7 +241,7 @@ set_wraparound_pointers (j_decompress_ptr cinfo) | |||
240 | * This changes the pointer list state from top-of-image to the normal state. | 241 | * This changes the pointer list state from top-of-image to the normal state. |
241 | */ | 242 | */ |
242 | { | 243 | { |
243 | my_main_ptr pmain = (my_main_ptr) cinfo->main; | 244 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
244 | int ci, i, rgroup; | 245 | int ci, i, rgroup; |
245 | int M = cinfo->min_DCT_v_scaled_size; | 246 | int M = cinfo->min_DCT_v_scaled_size; |
246 | jpeg_component_info *compptr; | 247 | jpeg_component_info *compptr; |
@@ -250,8 +251,8 @@ set_wraparound_pointers (j_decompress_ptr cinfo) | |||
250 | ci++, compptr++) { | 251 | ci++, compptr++) { |
251 | rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / | 252 | rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / |
252 | cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ | 253 | cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ |
253 | xbuf0 = pmain->xbuffer[0][ci]; | 254 | xbuf0 = mainp->xbuffer[0][ci]; |
254 | xbuf1 = pmain->xbuffer[1][ci]; | 255 | xbuf1 = mainp->xbuffer[1][ci]; |
255 | for (i = 0; i < rgroup; i++) { | 256 | for (i = 0; i < rgroup; i++) { |
256 | xbuf0[i - rgroup] = xbuf0[rgroup*(M+1) + i]; | 257 | xbuf0[i - rgroup] = xbuf0[rgroup*(M+1) + i]; |
257 | xbuf1[i - rgroup] = xbuf1[rgroup*(M+1) + i]; | 258 | xbuf1[i - rgroup] = xbuf1[rgroup*(M+1) + i]; |
@@ -269,7 +270,7 @@ set_bottom_pointers (j_decompress_ptr cinfo) | |||
269 | * Also sets rowgroups_avail to indicate number of nondummy row groups in row. | 270 | * Also sets rowgroups_avail to indicate number of nondummy row groups in row. |
270 | */ | 271 | */ |
271 | { | 272 | { |
272 | my_main_ptr pmain = (my_main_ptr) cinfo->main; | 273 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
273 | int ci, i, rgroup, iMCUheight, rows_left; | 274 | int ci, i, rgroup, iMCUheight, rows_left; |
274 | jpeg_component_info *compptr; | 275 | jpeg_component_info *compptr; |
275 | JSAMPARRAY xbuf; | 276 | JSAMPARRAY xbuf; |
@@ -286,12 +287,12 @@ set_bottom_pointers (j_decompress_ptr cinfo) | |||
286 | * so we need only do it once. | 287 | * so we need only do it once. |
287 | */ | 288 | */ |
288 | if (ci == 0) { | 289 | if (ci == 0) { |
289 | pmain->rowgroups_avail = (JDIMENSION) ((rows_left-1) / rgroup + 1); | 290 | mainp->rowgroups_avail = (JDIMENSION) ((rows_left-1) / rgroup + 1); |
290 | } | 291 | } |
291 | /* Duplicate the last real sample row rgroup*2 times; this pads out the | 292 | /* Duplicate the last real sample row rgroup*2 times; this pads out the |
292 | * last partial rowgroup and ensures at least one full rowgroup of context. | 293 | * last partial rowgroup and ensures at least one full rowgroup of context. |
293 | */ | 294 | */ |
294 | xbuf = pmain->xbuffer[pmain->whichptr][ci]; | 295 | xbuf = mainp->xbuffer[mainp->whichptr][ci]; |
295 | for (i = 0; i < rgroup * 2; i++) { | 296 | for (i = 0; i < rgroup * 2; i++) { |
296 | xbuf[rows_left + i] = xbuf[rows_left-1]; | 297 | xbuf[rows_left + i] = xbuf[rows_left-1]; |
297 | } | 298 | } |
@@ -306,27 +307,27 @@ set_bottom_pointers (j_decompress_ptr cinfo) | |||
306 | METHODDEF(void) | 307 | METHODDEF(void) |
307 | start_pass_main (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) | 308 | start_pass_main (j_decompress_ptr cinfo, J_BUF_MODE pass_mode) |
308 | { | 309 | { |
309 | my_main_ptr pmain = (my_main_ptr) cinfo->main; | 310 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
310 | 311 | ||
311 | switch (pass_mode) { | 312 | switch (pass_mode) { |
312 | case JBUF_PASS_THRU: | 313 | case JBUF_PASS_THRU: |
313 | if (cinfo->upsample->need_context_rows) { | 314 | if (cinfo->upsample->need_context_rows) { |
314 | pmain->pub.process_data = process_data_context_main; | 315 | mainp->pub.process_data = process_data_context_main; |
315 | make_funny_pointers(cinfo); /* Create the xbuffer[] lists */ | 316 | make_funny_pointers(cinfo); /* Create the xbuffer[] lists */ |
316 | pmain->whichptr = 0; /* Read first iMCU row into xbuffer[0] */ | 317 | mainp->whichptr = 0; /* Read first iMCU row into xbuffer[0] */ |
317 | pmain->context_state = CTX_PREPARE_FOR_IMCU; | 318 | mainp->context_state = CTX_PREPARE_FOR_IMCU; |
318 | pmain->iMCU_row_ctr = 0; | 319 | mainp->iMCU_row_ctr = 0; |
319 | } else { | 320 | } else { |
320 | /* Simple case with no context needed */ | 321 | /* Simple case with no context needed */ |
321 | pmain->pub.process_data = process_data_simple_main; | 322 | mainp->pub.process_data = process_data_simple_main; |
322 | } | 323 | } |
323 | pmain->buffer_full = FALSE; /* Mark buffer empty */ | 324 | mainp->buffer_full = FALSE; /* Mark buffer empty */ |
324 | pmain->rowgroup_ctr = 0; | 325 | mainp->rowgroup_ctr = 0; |
325 | break; | 326 | break; |
326 | #ifdef QUANT_2PASS_SUPPORTED | 327 | #ifdef QUANT_2PASS_SUPPORTED |
327 | case JBUF_CRANK_DEST: | 328 | case JBUF_CRANK_DEST: |
328 | /* For last pass of 2-pass quantization, just crank the postprocessor */ | 329 | /* For last pass of 2-pass quantization, just crank the postprocessor */ |
329 | pmain->pub.process_data = process_data_crank_post; | 330 | mainp->pub.process_data = process_data_crank_post; |
330 | break; | 331 | break; |
331 | #endif | 332 | #endif |
332 | default: | 333 | default: |
@@ -346,14 +347,14 @@ process_data_simple_main (j_decompress_ptr cinfo, | |||
346 | JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, | 347 | JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
347 | JDIMENSION out_rows_avail) | 348 | JDIMENSION out_rows_avail) |
348 | { | 349 | { |
349 | my_main_ptr pmain = (my_main_ptr) cinfo->main; | 350 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
350 | JDIMENSION rowgroups_avail; | 351 | JDIMENSION rowgroups_avail; |
351 | 352 | ||
352 | /* Read input data if we haven't filled the main buffer yet */ | 353 | /* Read input data if we haven't filled the main buffer yet */ |
353 | if (! pmain->buffer_full) { | 354 | if (! mainp->buffer_full) { |
354 | if (! (*cinfo->coef->decompress_data) (cinfo, pmain->buffer)) | 355 | if (! (*cinfo->coef->decompress_data) (cinfo, mainp->buffer)) |
355 | return; /* suspension forced, can do nothing more */ | 356 | return; /* suspension forced, can do nothing more */ |
356 | pmain->buffer_full = TRUE; /* OK, we have an iMCU row to work with */ | 357 | mainp->buffer_full = TRUE; /* OK, we have an iMCU row to work with */ |
357 | } | 358 | } |
358 | 359 | ||
359 | /* There are always min_DCT_scaled_size row groups in an iMCU row. */ | 360 | /* There are always min_DCT_scaled_size row groups in an iMCU row. */ |
@@ -364,14 +365,14 @@ process_data_simple_main (j_decompress_ptr cinfo, | |||
364 | */ | 365 | */ |
365 | 366 | ||
366 | /* Feed the postprocessor */ | 367 | /* Feed the postprocessor */ |
367 | (*cinfo->post->post_process_data) (cinfo, pmain->buffer, | 368 | (*cinfo->post->post_process_data) (cinfo, mainp->buffer, |
368 | &pmain->rowgroup_ctr, rowgroups_avail, | 369 | &mainp->rowgroup_ctr, rowgroups_avail, |
369 | output_buf, out_row_ctr, out_rows_avail); | 370 | output_buf, out_row_ctr, out_rows_avail); |
370 | 371 | ||
371 | /* Has postprocessor consumed all the data yet? If so, mark buffer empty */ | 372 | /* Has postprocessor consumed all the data yet? If so, mark buffer empty */ |
372 | if (pmain->rowgroup_ctr >= rowgroups_avail) { | 373 | if (mainp->rowgroup_ctr >= rowgroups_avail) { |
373 | pmain->buffer_full = FALSE; | 374 | mainp->buffer_full = FALSE; |
374 | pmain->rowgroup_ctr = 0; | 375 | mainp->rowgroup_ctr = 0; |
375 | } | 376 | } |
376 | } | 377 | } |
377 | 378 | ||
@@ -386,15 +387,15 @@ process_data_context_main (j_decompress_ptr cinfo, | |||
386 | JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, | 387 | JSAMPARRAY output_buf, JDIMENSION *out_row_ctr, |
387 | JDIMENSION out_rows_avail) | 388 | JDIMENSION out_rows_avail) |
388 | { | 389 | { |
389 | my_main_ptr pmain = (my_main_ptr) cinfo->main; | 390 | my_main_ptr mainp = (my_main_ptr) cinfo->main; |
390 | 391 | ||
391 | /* Read input data if we haven't filled the main buffer yet */ | 392 | /* Read input data if we haven't filled the main buffer yet */ |
392 | if (! pmain->buffer_full) { | 393 | if (! mainp->buffer_full) { |
393 | if (! (*cinfo->coef->decompress_data) (cinfo, | 394 | if (! (*cinfo->coef->decompress_data) (cinfo, |
394 | pmain->xbuffer[pmain->whichptr])) | 395 | mainp->xbuffer[mainp->whichptr])) |
395 | return; /* suspension forced, can do nothing more */ | 396 | return; /* suspension forced, can do nothing more */ |
396 | pmain->buffer_full = TRUE; /* OK, we have an iMCU row to work with */ | 397 | mainp->buffer_full = TRUE; /* OK, we have an iMCU row to work with */ |
397 | pmain->iMCU_row_ctr++; /* count rows received */ | 398 | mainp->iMCU_row_ctr++; /* count rows received */ |
398 | } | 399 | } |
399 | 400 | ||
400 | /* Postprocessor typically will not swallow all the input data it is handed | 401 | /* Postprocessor typically will not swallow all the input data it is handed |
@@ -402,47 +403,47 @@ process_data_context_main (j_decompress_ptr cinfo, | |||
402 | * to exit and restart. This switch lets us keep track of how far we got. | 403 | * to exit and restart. This switch lets us keep track of how far we got. |
403 | * Note that each case falls through to the next on successful completion. | 404 | * Note that each case falls through to the next on successful completion. |
404 | */ | 405 | */ |
405 | switch (pmain->context_state) { | 406 | switch (mainp->context_state) { |
406 | case CTX_POSTPONED_ROW: | 407 | case CTX_POSTPONED_ROW: |
407 | /* Call postprocessor using previously set pointers for postponed row */ | 408 | /* Call postprocessor using previously set pointers for postponed row */ |
408 | (*cinfo->post->post_process_data) (cinfo, pmain->xbuffer[pmain->whichptr], | 409 | (*cinfo->post->post_process_data) (cinfo, mainp->xbuffer[mainp->whichptr], |
409 | &pmain->rowgroup_ctr, pmain->rowgroups_avail, | 410 | &mainp->rowgroup_ctr, mainp->rowgroups_avail, |
410 | output_buf, out_row_ctr, out_rows_avail); | 411 | output_buf, out_row_ctr, out_rows_avail); |
411 | if (pmain->rowgroup_ctr < pmain->rowgroups_avail) | 412 | if (mainp->rowgroup_ctr < mainp->rowgroups_avail) |
412 | return; /* Need to suspend */ | 413 | return; /* Need to suspend */ |
413 | pmain->context_state = CTX_PREPARE_FOR_IMCU; | 414 | mainp->context_state = CTX_PREPARE_FOR_IMCU; |
414 | if (*out_row_ctr >= out_rows_avail) | 415 | if (*out_row_ctr >= out_rows_avail) |
415 | return; /* Postprocessor exactly filled output buf */ | 416 | return; /* Postprocessor exactly filled output buf */ |
416 | /*FALLTHROUGH*/ | 417 | /*FALLTHROUGH*/ |
417 | case CTX_PREPARE_FOR_IMCU: | 418 | case CTX_PREPARE_FOR_IMCU: |
418 | /* Prepare to process first M-1 row groups of this iMCU row */ | 419 | /* Prepare to process first M-1 row groups of this iMCU row */ |
419 | pmain->rowgroup_ctr = 0; | 420 | mainp->rowgroup_ctr = 0; |
420 | pmain->rowgroups_avail = (JDIMENSION) (cinfo->min_DCT_v_scaled_size - 1); | 421 | mainp->rowgroups_avail = (JDIMENSION) (cinfo->min_DCT_v_scaled_size - 1); |
421 | /* Check for bottom of image: if so, tweak pointers to "duplicate" | 422 | /* Check for bottom of image: if so, tweak pointers to "duplicate" |
422 | * the last sample row, and adjust rowgroups_avail to ignore padding rows. | 423 | * the last sample row, and adjust rowgroups_avail to ignore padding rows. |
423 | */ | 424 | */ |
424 | if (pmain->iMCU_row_ctr == cinfo->total_iMCU_rows) | 425 | if (mainp->iMCU_row_ctr == cinfo->total_iMCU_rows) |
425 | set_bottom_pointers(cinfo); | 426 | set_bottom_pointers(cinfo); |
426 | pmain->context_state = CTX_PROCESS_IMCU; | 427 | mainp->context_state = CTX_PROCESS_IMCU; |
427 | /*FALLTHROUGH*/ | 428 | /*FALLTHROUGH*/ |
428 | case CTX_PROCESS_IMCU: | 429 | case CTX_PROCESS_IMCU: |
429 | /* Call postprocessor using previously set pointers */ | 430 | /* Call postprocessor using previously set pointers */ |
430 | (*cinfo->post->post_process_data) (cinfo, pmain->xbuffer[pmain->whichptr], | 431 | (*cinfo->post->post_process_data) (cinfo, mainp->xbuffer[mainp->whichptr], |
431 | &pmain->rowgroup_ctr, pmain->rowgroups_avail, | 432 | &mainp->rowgroup_ctr, mainp->rowgroups_avail, |
432 | output_buf, out_row_ctr, out_rows_avail); | 433 | output_buf, out_row_ctr, out_rows_avail); |
433 | if (pmain->rowgroup_ctr < pmain->rowgroups_avail) | 434 | if (mainp->rowgroup_ctr < mainp->rowgroups_avail) |
434 | return; /* Need to suspend */ | 435 | return; /* Need to suspend */ |
435 | /* After the first iMCU, change wraparound pointers to normal state */ | 436 | /* After the first iMCU, change wraparound pointers to normal state */ |
436 | if (pmain->iMCU_row_ctr == 1) | 437 | if (mainp->iMCU_row_ctr == 1) |
437 | set_wraparound_pointers(cinfo); | 438 | set_wraparound_pointers(cinfo); |
438 | /* Prepare to load new iMCU row using other xbuffer list */ | 439 | /* Prepare to load new iMCU row using other xbuffer list */ |
439 | pmain->whichptr ^= 1; /* 0=>1 or 1=>0 */ | 440 | mainp->whichptr ^= 1; /* 0=>1 or 1=>0 */ |
440 | pmain->buffer_full = FALSE; | 441 | mainp->buffer_full = FALSE; |
441 | /* Still need to process last row group of this iMCU row, */ | 442 | /* Still need to process last row group of this iMCU row, */ |
442 | /* which is saved at index M+1 of the other xbuffer */ | 443 | /* which is saved at index M+1 of the other xbuffer */ |
443 | pmain->rowgroup_ctr = (JDIMENSION) (cinfo->min_DCT_v_scaled_size + 1); | 444 | mainp->rowgroup_ctr = (JDIMENSION) (cinfo->min_DCT_v_scaled_size + 1); |
444 | pmain->rowgroups_avail = (JDIMENSION) (cinfo->min_DCT_v_scaled_size + 2); | 445 | mainp->rowgroups_avail = (JDIMENSION) (cinfo->min_DCT_v_scaled_size + 2); |
445 | pmain->context_state = CTX_POSTPONED_ROW; | 446 | mainp->context_state = CTX_POSTPONED_ROW; |
446 | } | 447 | } |
447 | } | 448 | } |
448 | 449 | ||
@@ -475,15 +476,15 @@ process_data_crank_post (j_decompress_ptr cinfo, | |||
475 | GLOBAL(void) | 476 | GLOBAL(void) |
476 | jinit_d_main_controller (j_decompress_ptr cinfo, boolean need_full_buffer) | 477 | jinit_d_main_controller (j_decompress_ptr cinfo, boolean need_full_buffer) |
477 | { | 478 | { |
478 | my_main_ptr pmain; | 479 | my_main_ptr mainp; |
479 | int ci, rgroup, ngroups; | 480 | int ci, rgroup, ngroups; |
480 | jpeg_component_info *compptr; | 481 | jpeg_component_info *compptr; |
481 | 482 | ||
482 | pmain = (my_main_ptr) | 483 | mainp = (my_main_ptr) |
483 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 484 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
484 | SIZEOF(my_main_controller)); | 485 | SIZEOF(my_main_controller)); |
485 | cinfo->main = (struct jpeg_d_main_controller *) pmain; | 486 | cinfo->main = &mainp->pub; |
486 | pmain->pub.start_pass = start_pass_main; | 487 | mainp->pub.start_pass = start_pass_main; |
487 | 488 | ||
488 | if (need_full_buffer) /* shouldn't happen */ | 489 | if (need_full_buffer) /* shouldn't happen */ |
489 | ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); | 490 | ERREXIT(cinfo, JERR_BAD_BUFFER_MODE); |
@@ -504,9 +505,9 @@ jinit_d_main_controller (j_decompress_ptr cinfo, boolean need_full_buffer) | |||
504 | ci++, compptr++) { | 505 | ci++, compptr++) { |
505 | rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / | 506 | rgroup = (compptr->v_samp_factor * compptr->DCT_v_scaled_size) / |
506 | cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ | 507 | cinfo->min_DCT_v_scaled_size; /* height of a row group of component */ |
507 | pmain->buffer[ci] = (*cinfo->mem->alloc_sarray) | 508 | mainp->buffer[ci] = (*cinfo->mem->alloc_sarray) |
508 | ((j_common_ptr) cinfo, JPOOL_IMAGE, | 509 | ((j_common_ptr) cinfo, JPOOL_IMAGE, |
509 | compptr->width_in_blocks * compptr->DCT_h_scaled_size, | 510 | compptr->width_in_blocks * ((JDIMENSION) compptr->DCT_h_scaled_size), |
510 | (JDIMENSION) (rgroup * ngroups)); | 511 | (JDIMENSION) (rgroup * ngroups)); |
511 | } | 512 | } |
512 | } | 513 | } |
diff --git a/gs/jpeg/jdmarker.c b/gs/jpeg/jdmarker.c index 8ba4f86d1..3fbe5c165 100644 --- a/gs/jpeg/jdmarker.c +++ b/gs/jpeg/jdmarker.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jdmarker.c | 2 | * jdmarker.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1998, Thomas G. Lane. | 4 | * Copyright (C) 1991-1998, Thomas G. Lane. |
5 | * Modified 2009 by Guido Vollbeding. | 5 | * Modified 2009-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -23,24 +23,24 @@ typedef enum { /* JPEG marker codes */ | |||
23 | M_SOF1 = 0xc1, | 23 | M_SOF1 = 0xc1, |
24 | M_SOF2 = 0xc2, | 24 | M_SOF2 = 0xc2, |
25 | M_SOF3 = 0xc3, | 25 | M_SOF3 = 0xc3, |
26 | 26 | ||
27 | M_SOF5 = 0xc5, | 27 | M_SOF5 = 0xc5, |
28 | M_SOF6 = 0xc6, | 28 | M_SOF6 = 0xc6, |
29 | M_SOF7 = 0xc7, | 29 | M_SOF7 = 0xc7, |
30 | 30 | ||
31 | M_JPG = 0xc8, | 31 | M_JPG = 0xc8, |
32 | M_SOF9 = 0xc9, | 32 | M_SOF9 = 0xc9, |
33 | M_SOF10 = 0xca, | 33 | M_SOF10 = 0xca, |
34 | M_SOF11 = 0xcb, | 34 | M_SOF11 = 0xcb, |
35 | 35 | ||
36 | M_SOF13 = 0xcd, | 36 | M_SOF13 = 0xcd, |
37 | M_SOF14 = 0xce, | 37 | M_SOF14 = 0xce, |
38 | M_SOF15 = 0xcf, | 38 | M_SOF15 = 0xcf, |
39 | 39 | ||
40 | M_DHT = 0xc4, | 40 | M_DHT = 0xc4, |
41 | 41 | ||
42 | M_DAC = 0xcc, | 42 | M_DAC = 0xcc, |
43 | 43 | ||
44 | M_RST0 = 0xd0, | 44 | M_RST0 = 0xd0, |
45 | M_RST1 = 0xd1, | 45 | M_RST1 = 0xd1, |
46 | M_RST2 = 0xd2, | 46 | M_RST2 = 0xd2, |
@@ -49,7 +49,7 @@ typedef enum { /* JPEG marker codes */ | |||
49 | M_RST5 = 0xd5, | 49 | M_RST5 = 0xd5, |
50 | M_RST6 = 0xd6, | 50 | M_RST6 = 0xd6, |
51 | M_RST7 = 0xd7, | 51 | M_RST7 = 0xd7, |
52 | 52 | ||
53 | M_SOI = 0xd8, | 53 | M_SOI = 0xd8, |
54 | M_EOI = 0xd9, | 54 | M_EOI = 0xd9, |
55 | M_SOS = 0xda, | 55 | M_SOS = 0xda, |
@@ -58,7 +58,7 @@ typedef enum { /* JPEG marker codes */ | |||
58 | M_DRI = 0xdd, | 58 | M_DRI = 0xdd, |
59 | M_DHP = 0xde, | 59 | M_DHP = 0xde, |
60 | M_EXP = 0xdf, | 60 | M_EXP = 0xdf, |
61 | 61 | ||
62 | M_APP0 = 0xe0, | 62 | M_APP0 = 0xe0, |
63 | M_APP1 = 0xe1, | 63 | M_APP1 = 0xe1, |
64 | M_APP2 = 0xe2, | 64 | M_APP2 = 0xe2, |
@@ -75,13 +75,14 @@ typedef enum { /* JPEG marker codes */ | |||
75 | M_APP13 = 0xed, | 75 | M_APP13 = 0xed, |
76 | M_APP14 = 0xee, | 76 | M_APP14 = 0xee, |
77 | M_APP15 = 0xef, | 77 | M_APP15 = 0xef, |
78 | 78 | ||
79 | M_JPG0 = 0xf0, | 79 | M_JPG0 = 0xf0, |
80 | M_JPG8 = 0xf8, | ||
80 | M_JPG13 = 0xfd, | 81 | M_JPG13 = 0xfd, |
81 | M_COM = 0xfe, | 82 | M_COM = 0xfe, |
82 | 83 | ||
83 | M_TEM = 0x01, | 84 | M_TEM = 0x01, |
84 | 85 | ||
85 | M_ERROR = 0x100 | 86 | M_ERROR = 0x100 |
86 | } JPEG_MARKER; | 87 | } JPEG_MARKER; |
87 | 88 | ||
@@ -217,6 +218,7 @@ get_soi (j_decompress_ptr cinfo) | |||
217 | /* Set initial assumptions for colorspace etc */ | 218 | /* Set initial assumptions for colorspace etc */ |
218 | 219 | ||
219 | cinfo->jpeg_color_space = JCS_UNKNOWN; | 220 | cinfo->jpeg_color_space = JCS_UNKNOWN; |
221 | cinfo->color_transform = JCT_NONE; | ||
220 | cinfo->CCIR601_sampling = FALSE; /* Assume non-CCIR sampling??? */ | 222 | cinfo->CCIR601_sampling = FALSE; /* Assume non-CCIR sampling??? */ |
221 | 223 | ||
222 | cinfo->saw_JFIF_marker = FALSE; | 224 | cinfo->saw_JFIF_marker = FALSE; |
@@ -240,7 +242,7 @@ get_sof (j_decompress_ptr cinfo, boolean is_baseline, boolean is_prog, | |||
240 | /* Process a SOFn marker */ | 242 | /* Process a SOFn marker */ |
241 | { | 243 | { |
242 | INT32 length; | 244 | INT32 length; |
243 | int c, ci; | 245 | int c, ci, i; |
244 | jpeg_component_info * compptr; | 246 | jpeg_component_info * compptr; |
245 | INPUT_VARS(cinfo); | 247 | INPUT_VARS(cinfo); |
246 | 248 | ||
@@ -267,8 +269,8 @@ get_sof (j_decompress_ptr cinfo, boolean is_baseline, boolean is_prog, | |||
267 | /* We don't support files in which the image height is initially specified */ | 269 | /* We don't support files in which the image height is initially specified */ |
268 | /* as 0 and is later redefined by DNL. As long as we have to check that, */ | 270 | /* as 0 and is later redefined by DNL. As long as we have to check that, */ |
269 | /* might as well have a general sanity check. */ | 271 | /* might as well have a general sanity check. */ |
270 | if (cinfo->image_height <= 0 || cinfo->image_width <= 0 | 272 | if (cinfo->image_height <= 0 || cinfo->image_width <= 0 || |
271 | || cinfo->num_components <= 0) | 273 | cinfo->num_components <= 0) |
272 | ERREXIT(cinfo, JERR_EMPTY_IMAGE); | 274 | ERREXIT(cinfo, JERR_EMPTY_IMAGE); |
273 | 275 | ||
274 | if (length != (cinfo->num_components * 3)) | 276 | if (length != (cinfo->num_components * 3)) |
@@ -278,33 +280,27 @@ get_sof (j_decompress_ptr cinfo, boolean is_baseline, boolean is_prog, | |||
278 | cinfo->comp_info = (jpeg_component_info *) (*cinfo->mem->alloc_small) | 280 | cinfo->comp_info = (jpeg_component_info *) (*cinfo->mem->alloc_small) |
279 | ((j_common_ptr) cinfo, JPOOL_IMAGE, | 281 | ((j_common_ptr) cinfo, JPOOL_IMAGE, |
280 | cinfo->num_components * SIZEOF(jpeg_component_info)); | 282 | cinfo->num_components * SIZEOF(jpeg_component_info)); |
281 | |||
282 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; | ||
283 | ci++, compptr++) { | ||
284 | int component_id; | ||
285 | int j; | ||
286 | 283 | ||
287 | compptr->component_index = ci; | 284 | for (ci = 0; ci < cinfo->num_components; ci++) { |
288 | INPUT_BYTE(cinfo, component_id, return FALSE); | 285 | INPUT_BYTE(cinfo, c, return FALSE); |
289 | for (j = 0; j < ci; j++) { | 286 | /* Check to see whether component id has already been seen */ |
290 | /* Check to see whether component id has already been seen | 287 | /* (in violation of the spec, but unfortunately seen in some */ |
291 | (in violation of the spec, but unfortunately seen in some | 288 | /* files). If so, create "fake" component id equal to the */ |
292 | files). If so, create "fake" component id equal to the | 289 | /* max id seen so far + 1. */ |
293 | max id seen so far + 1. */ | 290 | for (i = 0, compptr = cinfo->comp_info; i < ci; i++, compptr++) { |
294 | if (cinfo->comp_info[j].component_id == component_id) { | 291 | if (c == compptr->component_id) { |
295 | int max_id = cinfo->comp_info[0].component_id; | 292 | compptr = cinfo->comp_info; |
296 | int k; | 293 | c = compptr->component_id; |
297 | for (k = 1; k < ci; k++) { | 294 | compptr++; |
298 | int k_id = cinfo->comp_info[k].component_id; | 295 | for (i = 1; i < ci; i++, compptr++) { |
299 | if (k_id > max_id) max_id = k_id; | 296 | if (compptr->component_id > c) c = compptr->component_id; |
300 | } | 297 | } |
301 | component_id = max_id + 1; | 298 | c++; |
302 | break; | 299 | break; |
303 | } | 300 | } |
304 | } | 301 | } |
305 | compptr->component_id = component_id; | 302 | compptr->component_id = c; |
306 | 303 | compptr->component_index = ci; | |
307 | |||
308 | INPUT_BYTE(cinfo, c, return FALSE); | 304 | INPUT_BYTE(cinfo, c, return FALSE); |
309 | compptr->h_samp_factor = (c >> 4) & 15; | 305 | compptr->h_samp_factor = (c >> 4) & 15; |
310 | compptr->v_samp_factor = (c ) & 15; | 306 | compptr->v_samp_factor = (c ) & 15; |
@@ -327,12 +323,12 @@ get_sos (j_decompress_ptr cinfo) | |||
327 | /* Process a SOS marker */ | 323 | /* Process a SOS marker */ |
328 | { | 324 | { |
329 | INT32 length; | 325 | INT32 length; |
330 | int i, ci, n, c, cc; | 326 | int c, ci, i, n; |
331 | jpeg_component_info * compptr; | 327 | jpeg_component_info * compptr; |
332 | INPUT_VARS(cinfo); | 328 | INPUT_VARS(cinfo); |
333 | 329 | ||
334 | if (! cinfo->marker->saw_SOF) | 330 | if (! cinfo->marker->saw_SOF) |
335 | ERREXIT(cinfo, JERR_SOS_NO_SOF); | 331 | ERREXITS(cinfo, JERR_SOF_BEFORE, "SOS"); |
336 | 332 | ||
337 | INPUT_2BYTES(cinfo, length, return FALSE); | 333 | INPUT_2BYTES(cinfo, length, return FALSE); |
338 | 334 | ||
@@ -350,40 +346,41 @@ get_sos (j_decompress_ptr cinfo) | |||
350 | /* Collect the component-spec parameters */ | 346 | /* Collect the component-spec parameters */ |
351 | 347 | ||
352 | for (i = 0; i < n; i++) { | 348 | for (i = 0; i < n; i++) { |
353 | int j; | ||
354 | INPUT_BYTE(cinfo, cc, return FALSE); | ||
355 | INPUT_BYTE(cinfo, c, return FALSE); | 349 | INPUT_BYTE(cinfo, c, return FALSE); |
356 | 350 | ||
357 | /* Detect the case where component id's are not unique, and, if so, | 351 | /* Detect the case where component id's are not unique, and, if so, */ |
358 | create a fake component id using the same logic as in get_sof. */ | 352 | /* create a fake component id using the same logic as in get_sof. */ |
359 | for (j = 0; j < i; j++) { | 353 | /* Note: This also ensures that all of the SOF components are */ |
360 | if (cc == cinfo->cur_comp_info[j]->component_id) { | 354 | /* referenced in the single scan case, which prevents access to */ |
361 | int k; | 355 | /* uninitialized memory in later decoding stages. */ |
362 | int max_id = cinfo->cur_comp_info[0]->component_id; | 356 | for (ci = 0; ci < i; ci++) { |
363 | for (k = 1; k < i; k++) { | 357 | if (c == cinfo->cur_comp_info[ci]->component_id) { |
364 | int k_id = cinfo->cur_comp_info[k]->component_id; | 358 | c = cinfo->cur_comp_info[0]->component_id; |
365 | if (k_id > max_id) max_id = k_id; | 359 | for (ci = 1; ci < i; ci++) { |
360 | compptr = cinfo->cur_comp_info[ci]; | ||
361 | if (compptr->component_id > c) c = compptr->component_id; | ||
366 | } | 362 | } |
367 | cc = max_id + 1; | 363 | c++; |
368 | break; | 364 | break; |
369 | } | 365 | } |
370 | } | 366 | } |
371 | 367 | ||
372 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; | 368 | for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; |
373 | ci++, compptr++) { | 369 | ci++, compptr++) { |
374 | if (cc == compptr->component_id) | 370 | if (c == compptr->component_id) |
375 | goto id_found; | 371 | goto id_found; |
376 | } | 372 | } |
377 | 373 | ||
378 | ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc); | 374 | ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, c); |
379 | 375 | ||
380 | id_found: | 376 | id_found: |
381 | 377 | ||
382 | cinfo->cur_comp_info[i] = compptr; | 378 | cinfo->cur_comp_info[i] = compptr; |
379 | INPUT_BYTE(cinfo, c, return FALSE); | ||
383 | compptr->dc_tbl_no = (c >> 4) & 15; | 380 | compptr->dc_tbl_no = (c >> 4) & 15; |
384 | compptr->ac_tbl_no = (c ) & 15; | 381 | compptr->ac_tbl_no = (c ) & 15; |
385 | 382 | ||
386 | TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc, | 383 | TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, compptr->component_id, |
387 | compptr->dc_tbl_no, compptr->ac_tbl_no); | 384 | compptr->dc_tbl_no, compptr->ac_tbl_no); |
388 | } | 385 | } |
389 | 386 | ||
@@ -499,6 +496,8 @@ get_dht (j_decompress_ptr cinfo) | |||
499 | if (count > 256 || ((INT32) count) > length) | 496 | if (count > 256 || ((INT32) count) > length) |
500 | ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); | 497 | ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); |
501 | 498 | ||
499 | MEMZERO(huffval, SIZEOF(huffval)); /* pre-zero array for later copy */ | ||
500 | |||
502 | for (i = 0; i < count; i++) | 501 | for (i = 0; i < count; i++) |
503 | INPUT_BYTE(cinfo, huffval[i], return FALSE); | 502 | INPUT_BYTE(cinfo, huffval[i], return FALSE); |
504 | 503 | ||
@@ -643,6 +642,68 @@ get_dri (j_decompress_ptr cinfo) | |||
643 | } | 642 | } |
644 | 643 | ||
645 | 644 | ||
645 | LOCAL(boolean) | ||
646 | get_lse (j_decompress_ptr cinfo) | ||
647 | /* Process an LSE marker */ | ||
648 | { | ||
649 | INT32 length; | ||
650 | unsigned int tmp; | ||
651 | int cid; | ||
652 | INPUT_VARS(cinfo); | ||
653 | |||
654 | if (! cinfo->marker->saw_SOF) | ||
655 | ERREXITS(cinfo, JERR_SOF_BEFORE, "LSE"); | ||
656 | |||
657 | if (cinfo->num_components < 3) goto bad; | ||
658 | |||
659 | INPUT_2BYTES(cinfo, length, return FALSE); | ||
660 | |||
661 | if (length != 24) | ||
662 | ERREXIT(cinfo, JERR_BAD_LENGTH); | ||
663 | |||
664 | INPUT_BYTE(cinfo, tmp, return FALSE); | ||
665 | if (tmp != 0x0D) /* ID inverse transform specification */ | ||
666 | ERREXIT1(cinfo, JERR_UNKNOWN_MARKER, cinfo->unread_marker); | ||
667 | INPUT_2BYTES(cinfo, tmp, return FALSE); | ||
668 | if (tmp != MAXJSAMPLE) goto bad; /* MAXTRANS */ | ||
669 | INPUT_BYTE(cinfo, tmp, return FALSE); | ||
670 | if (tmp != 3) goto bad; /* Nt=3 */ | ||
671 | INPUT_BYTE(cinfo, cid, return FALSE); | ||
672 | if (cid != cinfo->comp_info[1].component_id) goto bad; | ||
673 | INPUT_BYTE(cinfo, cid, return FALSE); | ||
674 | if (cid != cinfo->comp_info[0].component_id) goto bad; | ||
675 | INPUT_BYTE(cinfo, cid, return FALSE); | ||
676 | if (cid != cinfo->comp_info[2].component_id) goto bad; | ||
677 | INPUT_BYTE(cinfo, tmp, return FALSE); | ||
678 | if (tmp != 0x80) goto bad; /* F1: CENTER1=1, NORM1=0 */ | ||
679 | INPUT_2BYTES(cinfo, tmp, return FALSE); | ||
680 | if (tmp != 0) goto bad; /* A(1,1)=0 */ | ||
681 | INPUT_2BYTES(cinfo, tmp, return FALSE); | ||
682 | if (tmp != 0) goto bad; /* A(1,2)=0 */ | ||
683 | INPUT_BYTE(cinfo, tmp, return FALSE); | ||
684 | if (tmp != 0) goto bad; /* F2: CENTER2=0, NORM2=0 */ | ||
685 | INPUT_2BYTES(cinfo, tmp, return FALSE); | ||
686 | if (tmp != 1) goto bad; /* A(2,1)=1 */ | ||
687 | INPUT_2BYTES(cinfo, tmp, return FALSE); | ||
688 | if (tmp != 0) goto bad; /* A(2,2)=0 */ | ||
689 | INPUT_BYTE(cinfo, tmp, return FALSE); | ||
690 | if (tmp != 0) goto bad; /* F3: CENTER3=0, NORM3=0 */ | ||
691 | INPUT_2BYTES(cinfo, tmp, return FALSE); | ||
692 | if (tmp != 1) goto bad; /* A(3,1)=1 */ | ||
693 | INPUT_2BYTES(cinfo, tmp, return FALSE); | ||
694 | if (tmp != 0) { /* A(3,2)=0 */ | ||
695 | bad: | ||
696 | ERREXIT(cinfo, JERR_CONVERSION_NOTIMPL); | ||
697 | } | ||
698 | |||
699 | /* OK, valid transform that we can handle. */ | ||
700 | cinfo->color_transform = JCT_SUBTRACT_GREEN; | ||
701 | |||
702 | INPUT_SYNC(cinfo); | ||
703 | return TRUE; | ||
704 | } | ||
705 | |||
706 | |||
646 | /* | 707 | /* |
647 | * Routines for processing APPn and COM markers. | 708 | * Routines for processing APPn and COM markers. |
648 | * These are either saved in memory or discarded, per application request. | 709 | * These are either saved in memory or discarded, per application request. |
@@ -679,12 +740,13 @@ examine_app0 (j_decompress_ptr cinfo, JOCTET FAR * data, | |||
679 | cinfo->X_density = (GETJOCTET(data[8]) << 8) + GETJOCTET(data[9]); | 740 | cinfo->X_density = (GETJOCTET(data[8]) << 8) + GETJOCTET(data[9]); |
680 | cinfo->Y_density = (GETJOCTET(data[10]) << 8) + GETJOCTET(data[11]); | 741 | cinfo->Y_density = (GETJOCTET(data[10]) << 8) + GETJOCTET(data[11]); |
681 | /* Check version. | 742 | /* Check version. |
682 | * Major version must be 1, anything else signals an incompatible change. | 743 | * Major version must be 1 or 2, anything else signals an incompatible |
744 | * change. | ||
683 | * (We used to treat this as an error, but now it's a nonfatal warning, | 745 | * (We used to treat this as an error, but now it's a nonfatal warning, |
684 | * because some bozo at Hijaak couldn't read the spec.) | 746 | * because some bozo at Hijaak couldn't read the spec.) |
685 | * Minor version should be 0..2, but process anyway if newer. | 747 | * Minor version should be 0..2, but process anyway if newer. |
686 | */ | 748 | */ |
687 | if (cinfo->JFIF_major_version != 1) | 749 | if (cinfo->JFIF_major_version != 1 && cinfo->JFIF_major_version != 2) |
688 | WARNMS2(cinfo, JWRN_JFIF_MAJOR, | 750 | WARNMS2(cinfo, JWRN_JFIF_MAJOR, |
689 | cinfo->JFIF_major_version, cinfo->JFIF_minor_version); | 751 | cinfo->JFIF_major_version, cinfo->JFIF_minor_version); |
690 | /* Generate trace messages */ | 752 | /* Generate trace messages */ |
@@ -1097,32 +1159,37 @@ read_markers (j_decompress_ptr cinfo) | |||
1097 | return JPEG_SUSPENDED; | 1159 | return JPEG_SUSPENDED; |
1098 | cinfo->unread_marker = 0; /* processed the marker */ | 1160 | cinfo->unread_marker = 0; /* processed the marker */ |
1099 | return JPEG_REACHED_SOS; | 1161 | return JPEG_REACHED_SOS; |
1100 | 1162 | ||
1101 | case M_EOI: | 1163 | case M_EOI: |
1102 | TRACEMS(cinfo, 1, JTRC_EOI); | 1164 | TRACEMS(cinfo, 1, JTRC_EOI); |
1103 | cinfo->unread_marker = 0; /* processed the marker */ | 1165 | cinfo->unread_marker = 0; /* processed the marker */ |
1104 | return JPEG_REACHED_EOI; | 1166 | return JPEG_REACHED_EOI; |
1105 | 1167 | ||
1106 | case M_DAC: | 1168 | case M_DAC: |
1107 | if (! get_dac(cinfo)) | 1169 | if (! get_dac(cinfo)) |
1108 | return JPEG_SUSPENDED; | 1170 | return JPEG_SUSPENDED; |
1109 | break; | 1171 | break; |
1110 | 1172 | ||
1111 | case M_DHT: | 1173 | case M_DHT: |
1112 | if (! get_dht(cinfo)) | 1174 | if (! get_dht(cinfo)) |
1113 | return JPEG_SUSPENDED; | 1175 | return JPEG_SUSPENDED; |
1114 | break; | 1176 | break; |
1115 | 1177 | ||
1116 | case M_DQT: | 1178 | case M_DQT: |
1117 | if (! get_dqt(cinfo)) | 1179 | if (! get_dqt(cinfo)) |
1118 | return JPEG_SUSPENDED; | 1180 | return JPEG_SUSPENDED; |
1119 | break; | 1181 | break; |
1120 | 1182 | ||
1121 | case M_DRI: | 1183 | case M_DRI: |
1122 | if (! get_dri(cinfo)) | 1184 | if (! get_dri(cinfo)) |
1123 | return JPEG_SUSPENDED; | 1185 | return JPEG_SUSPENDED; |
1124 | break; | 1186 | break; |
1125 | 1187 | ||
1188 | case M_JPG8: | ||
1189 | if (! get_lse(cinfo)) | ||
1190 | return JPEG_SUSPENDED; | ||
1191 | break; | ||
1192 | |||
1126 | case M_APP0: | 1193 | case M_APP0: |
1127 | case M_APP1: | 1194 | case M_APP1: |
1128 | case M_APP2: | 1195 | case M_APP2: |
@@ -1143,7 +1210,7 @@ read_markers (j_decompress_ptr cinfo) | |||
1143 | cinfo->unread_marker - (int) M_APP0]) (cinfo)) | 1210 | cinfo->unread_marker - (int) M_APP0]) (cinfo)) |
1144 | return JPEG_SUSPENDED; | 1211 | return JPEG_SUSPENDED; |
1145 | break; | 1212 | break; |
1146 | 1213 | ||
1147 | case M_COM: | 1214 | case M_COM: |
1148 | if (! (*((my_marker_ptr) cinfo->marker)->process_COM) (cinfo)) | 1215 | if (! (*((my_marker_ptr) cinfo->marker)->process_COM) (cinfo)) |
1149 | return JPEG_SUSPENDED; | 1216 | return JPEG_SUSPENDED; |
@@ -1352,7 +1419,7 @@ jinit_marker_reader (j_decompress_ptr cinfo) | |||
1352 | marker = (my_marker_ptr) | 1419 | marker = (my_marker_ptr) |
1353 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, | 1420 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_PERMANENT, |
1354 | SIZEOF(my_marker_reader)); | 1421 | SIZEOF(my_marker_reader)); |
1355 | cinfo->marker = (struct jpeg_marker_reader *) marker; | 1422 | cinfo->marker = &marker->pub; |
1356 | /* Initialize public method pointers */ | 1423 | /* Initialize public method pointers */ |
1357 | marker->pub.reset_marker_reader = reset_marker_reader; | 1424 | marker->pub.reset_marker_reader = reset_marker_reader; |
1358 | marker->pub.read_markers = read_markers; | 1425 | marker->pub.read_markers = read_markers; |
diff --git a/gs/jpeg/jdmaster.c b/gs/jpeg/jdmaster.c index fef72a21b..6f42d3c5a 100644 --- a/gs/jpeg/jdmaster.c +++ b/gs/jpeg/jdmaster.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jdmaster.c | 2 | * jdmaster.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 2002-2011 by Guido Vollbeding. | 5 | * Modified 2002-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -51,7 +51,8 @@ use_merged_upsample (j_decompress_ptr cinfo) | |||
51 | /* jdmerge.c only supports YCC=>RGB color conversion */ | 51 | /* jdmerge.c only supports YCC=>RGB color conversion */ |
52 | if (cinfo->jpeg_color_space != JCS_YCbCr || cinfo->num_components != 3 || | 52 | if (cinfo->jpeg_color_space != JCS_YCbCr || cinfo->num_components != 3 || |
53 | cinfo->out_color_space != JCS_RGB || | 53 | cinfo->out_color_space != JCS_RGB || |
54 | cinfo->out_color_components != RGB_PIXELSIZE) | 54 | cinfo->out_color_components != RGB_PIXELSIZE || |
55 | cinfo->color_transform) | ||
55 | return FALSE; | 56 | return FALSE; |
56 | /* and it only handles 2h1v or 2h2v sampling ratios */ | 57 | /* and it only handles 2h1v or 2h2v sampling ratios */ |
57 | if (cinfo->comp_info[0].h_samp_factor != 2 || | 58 | if (cinfo->comp_info[0].h_samp_factor != 2 || |
@@ -158,9 +159,11 @@ jpeg_calc_output_dimensions (j_decompress_ptr cinfo) | |||
158 | cinfo->out_color_components = 1; | 159 | cinfo->out_color_components = 1; |
159 | break; | 160 | break; |
160 | case JCS_RGB: | 161 | case JCS_RGB: |
162 | case JCS_BG_RGB: | ||
161 | cinfo->out_color_components = RGB_PIXELSIZE; | 163 | cinfo->out_color_components = RGB_PIXELSIZE; |
162 | break; | 164 | break; |
163 | case JCS_YCbCr: | 165 | case JCS_YCbCr: |
166 | case JCS_BG_YCC: | ||
164 | cinfo->out_color_components = 3; | 167 | cinfo->out_color_components = 3; |
165 | break; | 168 | break; |
166 | case JCS_CMYK: | 169 | case JCS_CMYK: |
@@ -273,10 +276,19 @@ master_selection (j_decompress_ptr cinfo) | |||
273 | long samplesperrow; | 276 | long samplesperrow; |
274 | JDIMENSION jd_samplesperrow; | 277 | JDIMENSION jd_samplesperrow; |
275 | 278 | ||
279 | /* For now, precision must match compiled-in value... */ | ||
280 | if (cinfo->data_precision != BITS_IN_JSAMPLE) | ||
281 | ERREXIT1(cinfo, JERR_BAD_PRECISION, cinfo->data_precision); | ||
282 | |||
276 | /* Initialize dimensions and other stuff */ | 283 | /* Initialize dimensions and other stuff */ |
277 | jpeg_calc_output_dimensions(cinfo); | 284 | jpeg_calc_output_dimensions(cinfo); |
278 | prepare_range_limit_table(cinfo); | 285 | prepare_range_limit_table(cinfo); |
279 | 286 | ||
287 | /* Sanity check on image dimensions */ | ||
288 | if (cinfo->output_height <= 0 || cinfo->output_width <= 0 || | ||
289 | cinfo->out_color_components <= 0) | ||
290 | ERREXIT(cinfo, JERR_EMPTY_IMAGE); | ||
291 | |||
280 | /* Width of an output scanline must be representable as JDIMENSION. */ | 292 | /* Width of an output scanline must be representable as JDIMENSION. */ |
281 | samplesperrow = (long) cinfo->output_width * (long) cinfo->out_color_components; | 293 | samplesperrow = (long) cinfo->output_width * (long) cinfo->out_color_components; |
282 | jd_samplesperrow = (JDIMENSION) samplesperrow; | 294 | jd_samplesperrow = (JDIMENSION) samplesperrow; |
@@ -521,7 +533,7 @@ jinit_master_decompress (j_decompress_ptr cinfo) | |||
521 | master = (my_master_ptr) | 533 | master = (my_master_ptr) |
522 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, | 534 | (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, |
523 | SIZEOF(my_decomp_master)); | 535 | SIZEOF(my_decomp_master)); |
524 | cinfo->master = (struct jpeg_decomp_master *) master; | 536 | cinfo->master = &master->pub; |
525 | master->pub.prepare_for_output_pass = prepare_for_output_pass; | 537 | master->pub.prepare_for_output_pass = prepare_for_output_pass; |
526 | master->pub.finish_output_pass = finish_output_pass; | 538 | master->pub.finish_output_pass = finish_output_pass; |
527 | 539 | ||
diff --git a/gs/jpeg/jdmerge.c b/gs/jpeg/jdmerge.c index 37444468c..a6bde33c1 100644 --- a/gs/jpeg/jdmerge.c +++ b/gs/jpeg/jdmerge.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * jdmerge.c | 2 | * jdmerge.c |
3 | * | 3 | * |
4 | * Copyright (C) 1994-1996, Thomas G. Lane. | 4 | * Copyright (C) 1994-1996, Thomas G. Lane. |
5 | * Modified 2013 by Guido Vollbeding. | ||
5 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 8 | * |
@@ -103,17 +104,17 @@ build_ycc_rgb_table (j_decompress_ptr cinfo) | |||
103 | for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) { | 104 | for (i = 0, x = -CENTERJSAMPLE; i <= MAXJSAMPLE; i++, x++) { |
104 | /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */ | 105 | /* i is the actual input pixel value, in the range 0..MAXJSAMPLE */ |
105 | /* The Cb or Cr value we are thinking of is x = i - CENTERJSAMPLE */ | 106 | /* The Cb or Cr value we are thinking of is x = i - CENTERJSAMPLE */ |
106 | /* Cr=>R value is nearest int to 1.40200 * x */ | 107 | /* Cr=>R value is nearest int to 1.402 * x */ |
107 | upsample->Cr_r_tab[i] = (int) | 108 | upsample->Cr_r_tab[i] = (int) |
108 | RIGHT_SHIFT(FIX(1.40200) * x + ONE_HALF, SCALEBITS); | 109 | RIGHT_SHIFT(FIX(1.402) * x + ONE_HALF, SCALEBITS); |
109 | /* Cb=>B value is nearest int to 1.77200 * x */ | 110 | /* Cb=>B value is nearest int to 1.772 * x */ |
110 | upsample->Cb_b_tab[i] = (int) | 111 | upsample->Cb_b_tab[i] = (int) |
111 | RIGHT_SHIFT(FIX(1.77200) * x + ONE_HALF, SCALEBITS); | 112 | RIGHT_SHIFT(FIX(1.772) * x + ONE_HALF, SCALEBITS); |
112 | /* Cr=>G value is scaled-up -0.71414 * x */ | 113 | /* Cr=>G value is scaled-up -0.714136286 * x */ |
113 | upsample->Cr_g_tab[i] = (- FIX(0.71414)) * x; | 114 | upsample->Cr_g_tab[i] = (- FIX(0.714136286)) * x; |
114 | /* Cb=>G value is scaled-up -0.34414 * x */ | 115 | /* Cb=>G value is scaled-up -0.344136286 * x */ |
115 | /* We also add in ONE_HALF so that need not do it in inner loop */ | 116 | /* We also add in ONE_HALF so that need not do it in inner loop */ |
116 | upsample->Cb_g_tab[i] = (- FIX(0.34414)) * x + ONE_HALF; | 117 | upsample->Cb_g_tab[i] = (- FIX(0.344136286)) * x + ONE_HALF; |
117 | } | 118 | } |
118 | } | 119 | } |
119 | 120 | ||
diff --git a/gs/jpeg/jerror.c b/gs/jpeg/jerror.c index 3da7be86a..8c0b9e071 100644 --- a/gs/jpeg/jerror.c +++ b/gs/jpeg/jerror.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * jerror.c | 2 | * jerror.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1998, Thomas G. Lane. | 4 | * Copyright (C) 1991-1998, Thomas G. Lane. |
5 | * Modified 2012 by Guido Vollbeding. | ||
5 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 8 | * |
@@ -66,7 +67,7 @@ const char * const jpeg_std_message_table[] = { | |||
66 | * or jpeg_destroy) at some point. | 67 | * or jpeg_destroy) at some point. |
67 | */ | 68 | */ |
68 | 69 | ||
69 | METHODDEF(void) | 70 | METHODDEF(noreturn_t) |
70 | error_exit (j_common_ptr cinfo) | 71 | error_exit (j_common_ptr cinfo) |
71 | { | 72 | { |
72 | /* Always display the message */ | 73 | /* Always display the message */ |
diff --git a/gs/jpeg/jerror.h b/gs/jpeg/jerror.h index 1cfb2b19d..a4b661f71 100644 --- a/gs/jpeg/jerror.h +++ b/gs/jpeg/jerror.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * jerror.h | 2 | * jerror.h |
3 | * | 3 | * |
4 | * Copyright (C) 1994-1997, Thomas G. Lane. | 4 | * Copyright (C) 1994-1997, Thomas G. Lane. |
5 | * Modified 1997-2009 by Guido Vollbeding. | 5 | * Modified 1997-2012 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -106,11 +106,11 @@ JMESSAGE(JERR_QUANT_COMPONENTS, | |||
106 | "Cannot quantize more than %d color components") | 106 | "Cannot quantize more than %d color components") |
107 | JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors") | 107 | JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors") |
108 | JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors") | 108 | JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors") |
109 | JMESSAGE(JERR_SOF_BEFORE, "Invalid JPEG file structure: %s before SOF") | ||
109 | JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers") | 110 | JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers") |
110 | JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker") | 111 | JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker") |
111 | JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x") | 112 | JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x") |
112 | JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers") | 113 | JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers") |
113 | JMESSAGE(JERR_SOS_NO_SOF, "Invalid JPEG file structure: SOS before SOF") | ||
114 | JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s") | 114 | JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s") |
115 | JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file") | 115 | JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file") |
116 | JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file") | 116 | JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file") |
diff --git a/gs/jpeg/jfdctint.c b/gs/jpeg/jfdctint.c index 1dde58c49..a2ef2031b 100644 --- a/gs/jpeg/jfdctint.c +++ b/gs/jpeg/jfdctint.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jfdctint.c | 2 | * jfdctint.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1996, Thomas G. Lane. | 4 | * Copyright (C) 1991-1996, Thomas G. Lane. |
5 | * Modification developed 2003-2009 by Guido Vollbeding. | 5 | * Modification developed 2003-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -165,16 +165,18 @@ jpeg_fdct_islow (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
165 | int ctr; | 165 | int ctr; |
166 | SHIFT_TEMPS | 166 | SHIFT_TEMPS |
167 | 167 | ||
168 | /* Pass 1: process rows. */ | 168 | /* Pass 1: process rows. |
169 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 169 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
170 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 170 | * furthermore, we scale the results by 2**PASS1_BITS. |
171 | * cK represents sqrt(2) * cos(K*pi/16). | ||
172 | */ | ||
171 | 173 | ||
172 | dataptr = data; | 174 | dataptr = data; |
173 | for (ctr = 0; ctr < DCTSIZE; ctr++) { | 175 | for (ctr = 0; ctr < DCTSIZE; ctr++) { |
174 | elemptr = sample_data[ctr] + start_col; | 176 | elemptr = sample_data[ctr] + start_col; |
175 | 177 | ||
176 | /* Even part per LL&M figure 1 --- note that published figure is faulty; | 178 | /* Even part per LL&M figure 1 --- note that published figure is faulty; |
177 | * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". | 179 | * rotator "c1" should be "c6". |
178 | */ | 180 | */ |
179 | 181 | ||
180 | tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); | 182 | tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); |
@@ -196,47 +198,49 @@ jpeg_fdct_islow (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
196 | dataptr[0] = (DCTELEM) ((tmp10 + tmp11 - 8 * CENTERJSAMPLE) << PASS1_BITS); | 198 | dataptr[0] = (DCTELEM) ((tmp10 + tmp11 - 8 * CENTERJSAMPLE) << PASS1_BITS); |
197 | dataptr[4] = (DCTELEM) ((tmp10 - tmp11) << PASS1_BITS); | 199 | dataptr[4] = (DCTELEM) ((tmp10 - tmp11) << PASS1_BITS); |
198 | 200 | ||
199 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); | 201 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); /* c6 */ |
200 | /* Add fudge factor here for final descale. */ | 202 | /* Add fudge factor here for final descale. */ |
201 | z1 += ONE << (CONST_BITS-PASS1_BITS-1); | 203 | z1 += ONE << (CONST_BITS-PASS1_BITS-1); |
202 | dataptr[2] = (DCTELEM) RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), | 204 | |
203 | CONST_BITS-PASS1_BITS); | 205 | dataptr[2] = (DCTELEM) |
204 | dataptr[6] = (DCTELEM) RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), | 206 | RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), /* c2-c6 */ |
205 | CONST_BITS-PASS1_BITS); | 207 | CONST_BITS-PASS1_BITS); |
208 | dataptr[6] = (DCTELEM) | ||
209 | RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), /* c2+c6 */ | ||
210 | CONST_BITS-PASS1_BITS); | ||
206 | 211 | ||
207 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). | 212 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). |
208 | * cK represents sqrt(2) * cos(K*pi/16). | ||
209 | * i0..i3 in the paper are tmp0..tmp3 here. | 213 | * i0..i3 in the paper are tmp0..tmp3 here. |
210 | */ | 214 | */ |
211 | 215 | ||
212 | tmp10 = tmp0 + tmp3; | ||
213 | tmp11 = tmp1 + tmp2; | ||
214 | tmp12 = tmp0 + tmp2; | 216 | tmp12 = tmp0 + tmp2; |
215 | tmp13 = tmp1 + tmp3; | 217 | tmp13 = tmp1 + tmp3; |
216 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | 218 | |
219 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | ||
217 | /* Add fudge factor here for final descale. */ | 220 | /* Add fudge factor here for final descale. */ |
218 | z1 += ONE << (CONST_BITS-PASS1_BITS-1); | 221 | z1 += ONE << (CONST_BITS-PASS1_BITS-1); |
219 | 222 | ||
220 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ | 223 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* -c3+c5 */ |
221 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ | 224 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ |
222 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
223 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ | ||
224 | tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ | ||
225 | tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ | ||
226 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ | ||
227 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ | ||
228 | |||
229 | tmp12 += z1; | 225 | tmp12 += z1; |
230 | tmp13 += z1; | 226 | tmp13 += z1; |
231 | 227 | ||
232 | dataptr[1] = (DCTELEM) | 228 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
233 | RIGHT_SHIFT(tmp0 + tmp10 + tmp12, CONST_BITS-PASS1_BITS); | 229 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ |
234 | dataptr[3] = (DCTELEM) | 230 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
235 | RIGHT_SHIFT(tmp1 + tmp11 + tmp13, CONST_BITS-PASS1_BITS); | 231 | tmp0 += z1 + tmp12; |
236 | dataptr[5] = (DCTELEM) | 232 | tmp3 += z1 + tmp13; |
237 | RIGHT_SHIFT(tmp2 + tmp11 + tmp12, CONST_BITS-PASS1_BITS); | 233 | |
238 | dataptr[7] = (DCTELEM) | 234 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
239 | RIGHT_SHIFT(tmp3 + tmp10 + tmp13, CONST_BITS-PASS1_BITS); | 235 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ |
236 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
237 | tmp1 += z1 + tmp13; | ||
238 | tmp2 += z1 + tmp12; | ||
239 | |||
240 | dataptr[1] = (DCTELEM) RIGHT_SHIFT(tmp0, CONST_BITS-PASS1_BITS); | ||
241 | dataptr[3] = (DCTELEM) RIGHT_SHIFT(tmp1, CONST_BITS-PASS1_BITS); | ||
242 | dataptr[5] = (DCTELEM) RIGHT_SHIFT(tmp2, CONST_BITS-PASS1_BITS); | ||
243 | dataptr[7] = (DCTELEM) RIGHT_SHIFT(tmp3, CONST_BITS-PASS1_BITS); | ||
240 | 244 | ||
241 | dataptr += DCTSIZE; /* advance pointer to next row */ | 245 | dataptr += DCTSIZE; /* advance pointer to next row */ |
242 | } | 246 | } |
@@ -244,12 +248,13 @@ jpeg_fdct_islow (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
244 | /* Pass 2: process columns. | 248 | /* Pass 2: process columns. |
245 | * We remove the PASS1_BITS scaling, but leave the results scaled up | 249 | * We remove the PASS1_BITS scaling, but leave the results scaled up |
246 | * by an overall factor of 8. | 250 | * by an overall factor of 8. |
251 | * cK represents sqrt(2) * cos(K*pi/16). | ||
247 | */ | 252 | */ |
248 | 253 | ||
249 | dataptr = data; | 254 | dataptr = data; |
250 | for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { | 255 | for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { |
251 | /* Even part per LL&M figure 1 --- note that published figure is faulty; | 256 | /* Even part per LL&M figure 1 --- note that published figure is faulty; |
252 | * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". | 257 | * rotator "c1" should be "c6". |
253 | */ | 258 | */ |
254 | 259 | ||
255 | tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; | 260 | tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; |
@@ -271,47 +276,49 @@ jpeg_fdct_islow (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
271 | dataptr[DCTSIZE*0] = (DCTELEM) RIGHT_SHIFT(tmp10 + tmp11, PASS1_BITS); | 276 | dataptr[DCTSIZE*0] = (DCTELEM) RIGHT_SHIFT(tmp10 + tmp11, PASS1_BITS); |
272 | dataptr[DCTSIZE*4] = (DCTELEM) RIGHT_SHIFT(tmp10 - tmp11, PASS1_BITS); | 277 | dataptr[DCTSIZE*4] = (DCTELEM) RIGHT_SHIFT(tmp10 - tmp11, PASS1_BITS); |
273 | 278 | ||
274 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); | 279 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); /* c6 */ |
275 | /* Add fudge factor here for final descale. */ | 280 | /* Add fudge factor here for final descale. */ |
276 | z1 += ONE << (CONST_BITS+PASS1_BITS-1); | 281 | z1 += ONE << (CONST_BITS+PASS1_BITS-1); |
282 | |||
277 | dataptr[DCTSIZE*2] = (DCTELEM) | 283 | dataptr[DCTSIZE*2] = (DCTELEM) |
278 | RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), CONST_BITS+PASS1_BITS); | 284 | RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), /* c2-c6 */ |
285 | CONST_BITS+PASS1_BITS); | ||
279 | dataptr[DCTSIZE*6] = (DCTELEM) | 286 | dataptr[DCTSIZE*6] = (DCTELEM) |
280 | RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), CONST_BITS+PASS1_BITS); | 287 | RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), /* c2+c6 */ |
288 | CONST_BITS+PASS1_BITS); | ||
281 | 289 | ||
282 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). | 290 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). |
283 | * cK represents sqrt(2) * cos(K*pi/16). | ||
284 | * i0..i3 in the paper are tmp0..tmp3 here. | 291 | * i0..i3 in the paper are tmp0..tmp3 here. |
285 | */ | 292 | */ |
286 | 293 | ||
287 | tmp10 = tmp0 + tmp3; | ||
288 | tmp11 = tmp1 + tmp2; | ||
289 | tmp12 = tmp0 + tmp2; | 294 | tmp12 = tmp0 + tmp2; |
290 | tmp13 = tmp1 + tmp3; | 295 | tmp13 = tmp1 + tmp3; |
291 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | 296 | |
297 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | ||
292 | /* Add fudge factor here for final descale. */ | 298 | /* Add fudge factor here for final descale. */ |
293 | z1 += ONE << (CONST_BITS+PASS1_BITS-1); | 299 | z1 += ONE << (CONST_BITS+PASS1_BITS-1); |
294 | 300 | ||
295 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ | 301 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* -c3+c5 */ |
296 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ | 302 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ |
297 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
298 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ | ||
299 | tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ | ||
300 | tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ | ||
301 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ | ||
302 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ | ||
303 | |||
304 | tmp12 += z1; | 303 | tmp12 += z1; |
305 | tmp13 += z1; | 304 | tmp13 += z1; |
306 | 305 | ||
307 | dataptr[DCTSIZE*1] = (DCTELEM) | 306 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
308 | RIGHT_SHIFT(tmp0 + tmp10 + tmp12, CONST_BITS+PASS1_BITS); | 307 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ |
309 | dataptr[DCTSIZE*3] = (DCTELEM) | 308 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
310 | RIGHT_SHIFT(tmp1 + tmp11 + tmp13, CONST_BITS+PASS1_BITS); | 309 | tmp0 += z1 + tmp12; |
311 | dataptr[DCTSIZE*5] = (DCTELEM) | 310 | tmp3 += z1 + tmp13; |
312 | RIGHT_SHIFT(tmp2 + tmp11 + tmp12, CONST_BITS+PASS1_BITS); | 311 | |
313 | dataptr[DCTSIZE*7] = (DCTELEM) | 312 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
314 | RIGHT_SHIFT(tmp3 + tmp10 + tmp13, CONST_BITS+PASS1_BITS); | 313 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ |
314 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
315 | tmp1 += z1 + tmp13; | ||
316 | tmp2 += z1 + tmp12; | ||
317 | |||
318 | dataptr[DCTSIZE*1] = (DCTELEM) RIGHT_SHIFT(tmp0, CONST_BITS+PASS1_BITS); | ||
319 | dataptr[DCTSIZE*3] = (DCTELEM) RIGHT_SHIFT(tmp1, CONST_BITS+PASS1_BITS); | ||
320 | dataptr[DCTSIZE*5] = (DCTELEM) RIGHT_SHIFT(tmp2, CONST_BITS+PASS1_BITS); | ||
321 | dataptr[DCTSIZE*7] = (DCTELEM) RIGHT_SHIFT(tmp3, CONST_BITS+PASS1_BITS); | ||
315 | 322 | ||
316 | dataptr++; /* advance pointer to next column */ | 323 | dataptr++; /* advance pointer to next column */ |
317 | } | 324 | } |
@@ -338,10 +345,11 @@ jpeg_fdct_7x7 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
338 | /* Pre-zero output coefficient block. */ | 345 | /* Pre-zero output coefficient block. */ |
339 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 346 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
340 | 347 | ||
341 | /* Pass 1: process rows. */ | 348 | /* Pass 1: process rows. |
342 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 349 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
343 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 350 | * furthermore, we scale the results by 2**PASS1_BITS. |
344 | /* cK represents sqrt(2) * cos(K*pi/14). */ | 351 | * cK represents sqrt(2) * cos(K*pi/14). |
352 | */ | ||
345 | 353 | ||
346 | dataptr = data; | 354 | dataptr = data; |
347 | for (ctr = 0; ctr < 7; ctr++) { | 355 | for (ctr = 0; ctr < 7; ctr++) { |
@@ -472,10 +480,11 @@ jpeg_fdct_6x6 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
472 | /* Pre-zero output coefficient block. */ | 480 | /* Pre-zero output coefficient block. */ |
473 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 481 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
474 | 482 | ||
475 | /* Pass 1: process rows. */ | 483 | /* Pass 1: process rows. |
476 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 484 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
477 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 485 | * furthermore, we scale the results by 2**PASS1_BITS. |
478 | /* cK represents sqrt(2) * cos(K*pi/12). */ | 486 | * cK represents sqrt(2) * cos(K*pi/12). |
487 | */ | ||
479 | 488 | ||
480 | dataptr = data; | 489 | dataptr = data; |
481 | for (ctr = 0; ctr < 6; ctr++) { | 490 | for (ctr = 0; ctr < 6; ctr++) { |
@@ -585,12 +594,13 @@ jpeg_fdct_5x5 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
585 | /* Pre-zero output coefficient block. */ | 594 | /* Pre-zero output coefficient block. */ |
586 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 595 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
587 | 596 | ||
588 | /* Pass 1: process rows. */ | 597 | /* Pass 1: process rows. |
589 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 598 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
590 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 599 | * furthermore, we scale the results by 2**PASS1_BITS. |
591 | /* We scale the results further by 2 as part of output adaption */ | 600 | * We scale the results further by 2 as part of output adaption |
592 | /* scaling for different DCT size. */ | 601 | * scaling for different DCT size. |
593 | /* cK represents sqrt(2) * cos(K*pi/10). */ | 602 | * cK represents sqrt(2) * cos(K*pi/10). |
603 | */ | ||
594 | 604 | ||
595 | dataptr = data; | 605 | dataptr = data; |
596 | for (ctr = 0; ctr < 5; ctr++) { | 606 | for (ctr = 0; ctr < 5; ctr++) { |
@@ -695,11 +705,12 @@ jpeg_fdct_4x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
695 | /* Pre-zero output coefficient block. */ | 705 | /* Pre-zero output coefficient block. */ |
696 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 706 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
697 | 707 | ||
698 | /* Pass 1: process rows. */ | 708 | /* Pass 1: process rows. |
699 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 709 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
700 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 710 | * furthermore, we scale the results by 2**PASS1_BITS. |
701 | /* We must also scale the output by (8/4)**2 = 2**2, which we add here. */ | 711 | * We must also scale the output by (8/4)**2 = 2**2, which we add here. |
702 | /* cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. */ | 712 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. |
713 | */ | ||
703 | 714 | ||
704 | dataptr = data; | 715 | dataptr = data; |
705 | for (ctr = 0; ctr < 4; ctr++) { | 716 | for (ctr = 0; ctr < 4; ctr++) { |
@@ -737,6 +748,7 @@ jpeg_fdct_4x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
737 | /* Pass 2: process columns. | 748 | /* Pass 2: process columns. |
738 | * We remove the PASS1_BITS scaling, but leave the results scaled up | 749 | * We remove the PASS1_BITS scaling, but leave the results scaled up |
739 | * by an overall factor of 8. | 750 | * by an overall factor of 8. |
751 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. | ||
740 | */ | 752 | */ |
741 | 753 | ||
742 | dataptr = data; | 754 | dataptr = data; |
@@ -787,12 +799,13 @@ jpeg_fdct_3x3 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
787 | /* Pre-zero output coefficient block. */ | 799 | /* Pre-zero output coefficient block. */ |
788 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 800 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
789 | 801 | ||
790 | /* Pass 1: process rows. */ | 802 | /* Pass 1: process rows. |
791 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 803 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
792 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 804 | * furthermore, we scale the results by 2**PASS1_BITS. |
793 | /* We scale the results further by 2**2 as part of output adaption */ | 805 | * We scale the results further by 2**2 as part of output adaption |
794 | /* scaling for different DCT size. */ | 806 | * scaling for different DCT size. |
795 | /* cK represents sqrt(2) * cos(K*pi/6). */ | 807 | * cK represents sqrt(2) * cos(K*pi/6). |
808 | */ | ||
796 | 809 | ||
797 | dataptr = data; | 810 | dataptr = data; |
798 | for (ctr = 0; ctr < 3; ctr++) { | 811 | for (ctr = 0; ctr < 3; ctr++) { |
@@ -869,8 +882,9 @@ jpeg_fdct_2x2 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
869 | /* Pre-zero output coefficient block. */ | 882 | /* Pre-zero output coefficient block. */ |
870 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 883 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
871 | 884 | ||
872 | /* Pass 1: process rows. */ | 885 | /* Pass 1: process rows. |
873 | /* Note results are scaled up by sqrt(8) compared to a true DCT. */ | 886 | * Note results are scaled up by sqrt(8) compared to a true DCT. |
887 | */ | ||
874 | 888 | ||
875 | /* Row 0 */ | 889 | /* Row 0 */ |
876 | elemptr = sample_data[0] + start_col; | 890 | elemptr = sample_data[0] + start_col; |
@@ -935,11 +949,12 @@ jpeg_fdct_9x9 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
935 | int ctr; | 949 | int ctr; |
936 | SHIFT_TEMPS | 950 | SHIFT_TEMPS |
937 | 951 | ||
938 | /* Pass 1: process rows. */ | 952 | /* Pass 1: process rows. |
939 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 953 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
940 | /* we scale the results further by 2 as part of output adaption */ | 954 | * we scale the results further by 2 as part of output adaption |
941 | /* scaling for different DCT size. */ | 955 | * scaling for different DCT size. |
942 | /* cK represents sqrt(2) * cos(K*pi/18). */ | 956 | * cK represents sqrt(2) * cos(K*pi/18). |
957 | */ | ||
943 | 958 | ||
944 | dataptr = data; | 959 | dataptr = data; |
945 | ctr = 0; | 960 | ctr = 0; |
@@ -1084,11 +1099,12 @@ jpeg_fdct_10x10 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
1084 | int ctr; | 1099 | int ctr; |
1085 | SHIFT_TEMPS | 1100 | SHIFT_TEMPS |
1086 | 1101 | ||
1087 | /* Pass 1: process rows. */ | 1102 | /* Pass 1: process rows. |
1088 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 1103 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
1089 | /* we scale the results further by 2 as part of output adaption */ | 1104 | * we scale the results further by 2 as part of output adaption |
1090 | /* scaling for different DCT size. */ | 1105 | * scaling for different DCT size. |
1091 | /* cK represents sqrt(2) * cos(K*pi/20). */ | 1106 | * cK represents sqrt(2) * cos(K*pi/20). |
1107 | */ | ||
1092 | 1108 | ||
1093 | dataptr = data; | 1109 | dataptr = data; |
1094 | ctr = 0; | 1110 | ctr = 0; |
@@ -1248,11 +1264,12 @@ jpeg_fdct_11x11 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
1248 | int ctr; | 1264 | int ctr; |
1249 | SHIFT_TEMPS | 1265 | SHIFT_TEMPS |
1250 | 1266 | ||
1251 | /* Pass 1: process rows. */ | 1267 | /* Pass 1: process rows. |
1252 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 1268 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
1253 | /* we scale the results further by 2 as part of output adaption */ | 1269 | * we scale the results further by 2 as part of output adaption |
1254 | /* scaling for different DCT size. */ | 1270 | * scaling for different DCT size. |
1255 | /* cK represents sqrt(2) * cos(K*pi/22). */ | 1271 | * cK represents sqrt(2) * cos(K*pi/22). |
1272 | */ | ||
1256 | 1273 | ||
1257 | dataptr = data; | 1274 | dataptr = data; |
1258 | ctr = 0; | 1275 | ctr = 0; |
@@ -1430,9 +1447,10 @@ jpeg_fdct_12x12 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
1430 | int ctr; | 1447 | int ctr; |
1431 | SHIFT_TEMPS | 1448 | SHIFT_TEMPS |
1432 | 1449 | ||
1433 | /* Pass 1: process rows. */ | 1450 | /* Pass 1: process rows. |
1434 | /* Note results are scaled up by sqrt(8) compared to a true DCT. */ | 1451 | * Note results are scaled up by sqrt(8) compared to a true DCT. |
1435 | /* cK represents sqrt(2) * cos(K*pi/24). */ | 1452 | * cK represents sqrt(2) * cos(K*pi/24). |
1453 | */ | ||
1436 | 1454 | ||
1437 | dataptr = data; | 1455 | dataptr = data; |
1438 | ctr = 0; | 1456 | ctr = 0; |
@@ -1596,9 +1614,10 @@ jpeg_fdct_13x13 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
1596 | int ctr; | 1614 | int ctr; |
1597 | SHIFT_TEMPS | 1615 | SHIFT_TEMPS |
1598 | 1616 | ||
1599 | /* Pass 1: process rows. */ | 1617 | /* Pass 1: process rows. |
1600 | /* Note results are scaled up by sqrt(8) compared to a true DCT. */ | 1618 | * Note results are scaled up by sqrt(8) compared to a true DCT. |
1601 | /* cK represents sqrt(2) * cos(K*pi/26). */ | 1619 | * cK represents sqrt(2) * cos(K*pi/26). |
1620 | */ | ||
1602 | 1621 | ||
1603 | dataptr = data; | 1622 | dataptr = data; |
1604 | ctr = 0; | 1623 | ctr = 0; |
@@ -1794,9 +1813,10 @@ jpeg_fdct_14x14 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
1794 | int ctr; | 1813 | int ctr; |
1795 | SHIFT_TEMPS | 1814 | SHIFT_TEMPS |
1796 | 1815 | ||
1797 | /* Pass 1: process rows. */ | 1816 | /* Pass 1: process rows. |
1798 | /* Note results are scaled up by sqrt(8) compared to a true DCT. */ | 1817 | * Note results are scaled up by sqrt(8) compared to a true DCT. |
1799 | /* cK represents sqrt(2) * cos(K*pi/28). */ | 1818 | * cK represents sqrt(2) * cos(K*pi/28). |
1819 | */ | ||
1800 | 1820 | ||
1801 | dataptr = data; | 1821 | dataptr = data; |
1802 | ctr = 0; | 1822 | ctr = 0; |
@@ -1995,9 +2015,10 @@ jpeg_fdct_15x15 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
1995 | int ctr; | 2015 | int ctr; |
1996 | SHIFT_TEMPS | 2016 | SHIFT_TEMPS |
1997 | 2017 | ||
1998 | /* Pass 1: process rows. */ | 2018 | /* Pass 1: process rows. |
1999 | /* Note results are scaled up by sqrt(8) compared to a true DCT. */ | 2019 | * Note results are scaled up by sqrt(8) compared to a true DCT. |
2000 | /* cK represents sqrt(2) * cos(K*pi/30). */ | 2020 | * cK represents sqrt(2) * cos(K*pi/30). |
2021 | */ | ||
2001 | 2022 | ||
2002 | dataptr = data; | 2023 | dataptr = data; |
2003 | ctr = 0; | 2024 | ctr = 0; |
@@ -2173,10 +2194,11 @@ jpeg_fdct_16x16 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
2173 | int ctr; | 2194 | int ctr; |
2174 | SHIFT_TEMPS | 2195 | SHIFT_TEMPS |
2175 | 2196 | ||
2176 | /* Pass 1: process rows. */ | 2197 | /* Pass 1: process rows. |
2177 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 2198 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
2178 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 2199 | * furthermore, we scale the results by 2**PASS1_BITS. |
2179 | /* cK represents sqrt(2) * cos(K*pi/32). */ | 2200 | * cK represents sqrt(2) * cos(K*pi/32). |
2201 | */ | ||
2180 | 2202 | ||
2181 | dataptr = data; | 2203 | dataptr = data; |
2182 | ctr = 0; | 2204 | ctr = 0; |
@@ -2275,6 +2297,7 @@ jpeg_fdct_16x16 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
2275 | * We remove the PASS1_BITS scaling, but leave the results scaled up | 2297 | * We remove the PASS1_BITS scaling, but leave the results scaled up |
2276 | * by an overall factor of 8. | 2298 | * by an overall factor of 8. |
2277 | * We must also scale the output by (8/16)**2 = 1/2**2. | 2299 | * We must also scale the output by (8/16)**2 = 1/2**2. |
2300 | * cK represents sqrt(2) * cos(K*pi/32). | ||
2278 | */ | 2301 | */ |
2279 | 2302 | ||
2280 | dataptr = data; | 2303 | dataptr = data; |
@@ -2380,10 +2403,11 @@ jpeg_fdct_16x8 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
2380 | int ctr; | 2403 | int ctr; |
2381 | SHIFT_TEMPS | 2404 | SHIFT_TEMPS |
2382 | 2405 | ||
2383 | /* Pass 1: process rows. */ | 2406 | /* Pass 1: process rows. |
2384 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 2407 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
2385 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 2408 | * furthermore, we scale the results by 2**PASS1_BITS. |
2386 | /* 16-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/32). */ | 2409 | * 16-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/32). |
2410 | */ | ||
2387 | 2411 | ||
2388 | dataptr = data; | 2412 | dataptr = data; |
2389 | ctr = 0; | 2413 | ctr = 0; |
@@ -2475,12 +2499,13 @@ jpeg_fdct_16x8 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
2475 | * We remove the PASS1_BITS scaling, but leave the results scaled up | 2499 | * We remove the PASS1_BITS scaling, but leave the results scaled up |
2476 | * by an overall factor of 8. | 2500 | * by an overall factor of 8. |
2477 | * We must also scale the output by 8/16 = 1/2. | 2501 | * We must also scale the output by 8/16 = 1/2. |
2502 | * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
2478 | */ | 2503 | */ |
2479 | 2504 | ||
2480 | dataptr = data; | 2505 | dataptr = data; |
2481 | for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { | 2506 | for (ctr = DCTSIZE-1; ctr >= 0; ctr--) { |
2482 | /* Even part per LL&M figure 1 --- note that published figure is faulty; | 2507 | /* Even part per LL&M figure 1 --- note that published figure is faulty; |
2483 | * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". | 2508 | * rotator "c1" should be "c6". |
2484 | */ | 2509 | */ |
2485 | 2510 | ||
2486 | tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; | 2511 | tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; |
@@ -2501,43 +2526,43 @@ jpeg_fdct_16x8 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
2501 | dataptr[DCTSIZE*0] = (DCTELEM) DESCALE(tmp10 + tmp11, PASS1_BITS+1); | 2526 | dataptr[DCTSIZE*0] = (DCTELEM) DESCALE(tmp10 + tmp11, PASS1_BITS+1); |
2502 | dataptr[DCTSIZE*4] = (DCTELEM) DESCALE(tmp10 - tmp11, PASS1_BITS+1); | 2527 | dataptr[DCTSIZE*4] = (DCTELEM) DESCALE(tmp10 - tmp11, PASS1_BITS+1); |
2503 | 2528 | ||
2504 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); | 2529 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); /* c6 */ |
2505 | dataptr[DCTSIZE*2] = (DCTELEM) DESCALE(z1 + MULTIPLY(tmp12, FIX_0_765366865), | 2530 | dataptr[DCTSIZE*2] = (DCTELEM) |
2506 | CONST_BITS+PASS1_BITS+1); | 2531 | DESCALE(z1 + MULTIPLY(tmp12, FIX_0_765366865), /* c2-c6 */ |
2507 | dataptr[DCTSIZE*6] = (DCTELEM) DESCALE(z1 - MULTIPLY(tmp13, FIX_1_847759065), | 2532 | CONST_BITS+PASS1_BITS+1); |
2508 | CONST_BITS+PASS1_BITS+1); | 2533 | dataptr[DCTSIZE*6] = (DCTELEM) |
2534 | DESCALE(z1 - MULTIPLY(tmp13, FIX_1_847759065), /* c2+c6 */ | ||
2535 | CONST_BITS+PASS1_BITS+1); | ||
2509 | 2536 | ||
2510 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). | 2537 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). |
2511 | * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
2512 | * i0..i3 in the paper are tmp0..tmp3 here. | 2538 | * i0..i3 in the paper are tmp0..tmp3 here. |
2513 | */ | 2539 | */ |
2514 | 2540 | ||
2515 | tmp10 = tmp0 + tmp3; | ||
2516 | tmp11 = tmp1 + tmp2; | ||
2517 | tmp12 = tmp0 + tmp2; | 2541 | tmp12 = tmp0 + tmp2; |
2518 | tmp13 = tmp1 + tmp3; | 2542 | tmp13 = tmp1 + tmp3; |
2519 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | ||
2520 | |||
2521 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ | ||
2522 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ | ||
2523 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
2524 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ | ||
2525 | tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ | ||
2526 | tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ | ||
2527 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ | ||
2528 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ | ||
2529 | 2543 | ||
2544 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | ||
2545 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* -c3+c5 */ | ||
2546 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ | ||
2530 | tmp12 += z1; | 2547 | tmp12 += z1; |
2531 | tmp13 += z1; | 2548 | tmp13 += z1; |
2532 | 2549 | ||
2533 | dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp0 + tmp10 + tmp12, | 2550 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
2534 | CONST_BITS+PASS1_BITS+1); | 2551 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ |
2535 | dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp1 + tmp11 + tmp13, | 2552 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
2536 | CONST_BITS+PASS1_BITS+1); | 2553 | tmp0 += z1 + tmp12; |
2537 | dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp2 + tmp11 + tmp12, | 2554 | tmp3 += z1 + tmp13; |
2538 | CONST_BITS+PASS1_BITS+1); | 2555 | |
2539 | dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp3 + tmp10 + tmp13, | 2556 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
2540 | CONST_BITS+PASS1_BITS+1); | 2557 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ |
2558 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
2559 | tmp1 += z1 + tmp13; | ||
2560 | tmp2 += z1 + tmp12; | ||
2561 | |||
2562 | dataptr[DCTSIZE*1] = (DCTELEM) DESCALE(tmp0, CONST_BITS+PASS1_BITS+1); | ||
2563 | dataptr[DCTSIZE*3] = (DCTELEM) DESCALE(tmp1, CONST_BITS+PASS1_BITS+1); | ||
2564 | dataptr[DCTSIZE*5] = (DCTELEM) DESCALE(tmp2, CONST_BITS+PASS1_BITS+1); | ||
2565 | dataptr[DCTSIZE*7] = (DCTELEM) DESCALE(tmp3, CONST_BITS+PASS1_BITS+1); | ||
2541 | 2566 | ||
2542 | dataptr++; /* advance pointer to next column */ | 2567 | dataptr++; /* advance pointer to next column */ |
2543 | } | 2568 | } |
@@ -2564,10 +2589,11 @@ jpeg_fdct_14x7 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
2564 | /* Zero bottom row of output coefficient block. */ | 2589 | /* Zero bottom row of output coefficient block. */ |
2565 | MEMZERO(&data[DCTSIZE*7], SIZEOF(DCTELEM) * DCTSIZE); | 2590 | MEMZERO(&data[DCTSIZE*7], SIZEOF(DCTELEM) * DCTSIZE); |
2566 | 2591 | ||
2567 | /* Pass 1: process rows. */ | 2592 | /* Pass 1: process rows. |
2568 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 2593 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
2569 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 2594 | * furthermore, we scale the results by 2**PASS1_BITS. |
2570 | /* 14-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/28). */ | 2595 | * 14-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/28). |
2596 | */ | ||
2571 | 2597 | ||
2572 | dataptr = data; | 2598 | dataptr = data; |
2573 | for (ctr = 0; ctr < 7; ctr++) { | 2599 | for (ctr = 0; ctr < 7; ctr++) { |
@@ -2727,10 +2753,11 @@ jpeg_fdct_12x6 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
2727 | /* Zero 2 bottom rows of output coefficient block. */ | 2753 | /* Zero 2 bottom rows of output coefficient block. */ |
2728 | MEMZERO(&data[DCTSIZE*6], SIZEOF(DCTELEM) * DCTSIZE * 2); | 2754 | MEMZERO(&data[DCTSIZE*6], SIZEOF(DCTELEM) * DCTSIZE * 2); |
2729 | 2755 | ||
2730 | /* Pass 1: process rows. */ | 2756 | /* Pass 1: process rows. |
2731 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 2757 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
2732 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 2758 | * furthermore, we scale the results by 2**PASS1_BITS. |
2733 | /* 12-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/24). */ | 2759 | * 12-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/24). |
2760 | */ | ||
2734 | 2761 | ||
2735 | dataptr = data; | 2762 | dataptr = data; |
2736 | for (ctr = 0; ctr < 6; ctr++) { | 2763 | for (ctr = 0; ctr < 6; ctr++) { |
@@ -2866,10 +2893,11 @@ jpeg_fdct_10x5 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
2866 | /* Zero 3 bottom rows of output coefficient block. */ | 2893 | /* Zero 3 bottom rows of output coefficient block. */ |
2867 | MEMZERO(&data[DCTSIZE*5], SIZEOF(DCTELEM) * DCTSIZE * 3); | 2894 | MEMZERO(&data[DCTSIZE*5], SIZEOF(DCTELEM) * DCTSIZE * 3); |
2868 | 2895 | ||
2869 | /* Pass 1: process rows. */ | 2896 | /* Pass 1: process rows. |
2870 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 2897 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
2871 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 2898 | * furthermore, we scale the results by 2**PASS1_BITS. |
2872 | /* 10-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/20). */ | 2899 | * 10-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/20). |
2900 | */ | ||
2873 | 2901 | ||
2874 | dataptr = data; | 2902 | dataptr = data; |
2875 | for (ctr = 0; ctr < 5; ctr++) { | 2903 | for (ctr = 0; ctr < 5; ctr++) { |
@@ -2999,17 +3027,19 @@ jpeg_fdct_8x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
2999 | /* Zero 4 bottom rows of output coefficient block. */ | 3027 | /* Zero 4 bottom rows of output coefficient block. */ |
3000 | MEMZERO(&data[DCTSIZE*4], SIZEOF(DCTELEM) * DCTSIZE * 4); | 3028 | MEMZERO(&data[DCTSIZE*4], SIZEOF(DCTELEM) * DCTSIZE * 4); |
3001 | 3029 | ||
3002 | /* Pass 1: process rows. */ | 3030 | /* Pass 1: process rows. |
3003 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 3031 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
3004 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 3032 | * furthermore, we scale the results by 2**PASS1_BITS. |
3005 | /* We must also scale the output by 8/4 = 2, which we add here. */ | 3033 | * We must also scale the output by 8/4 = 2, which we add here. |
3034 | * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
3035 | */ | ||
3006 | 3036 | ||
3007 | dataptr = data; | 3037 | dataptr = data; |
3008 | for (ctr = 0; ctr < 4; ctr++) { | 3038 | for (ctr = 0; ctr < 4; ctr++) { |
3009 | elemptr = sample_data[ctr] + start_col; | 3039 | elemptr = sample_data[ctr] + start_col; |
3010 | 3040 | ||
3011 | /* Even part per LL&M figure 1 --- note that published figure is faulty; | 3041 | /* Even part per LL&M figure 1 --- note that published figure is faulty; |
3012 | * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". | 3042 | * rotator "c1" should be "c6". |
3013 | */ | 3043 | */ |
3014 | 3044 | ||
3015 | tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); | 3045 | tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); |
@@ -3032,47 +3062,49 @@ jpeg_fdct_8x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3032 | ((tmp10 + tmp11 - 8 * CENTERJSAMPLE) << (PASS1_BITS+1)); | 3062 | ((tmp10 + tmp11 - 8 * CENTERJSAMPLE) << (PASS1_BITS+1)); |
3033 | dataptr[4] = (DCTELEM) ((tmp10 - tmp11) << (PASS1_BITS+1)); | 3063 | dataptr[4] = (DCTELEM) ((tmp10 - tmp11) << (PASS1_BITS+1)); |
3034 | 3064 | ||
3035 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); | 3065 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); /* c6 */ |
3036 | /* Add fudge factor here for final descale. */ | 3066 | /* Add fudge factor here for final descale. */ |
3037 | z1 += ONE << (CONST_BITS-PASS1_BITS-2); | 3067 | z1 += ONE << (CONST_BITS-PASS1_BITS-2); |
3038 | dataptr[2] = (DCTELEM) RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), | 3068 | |
3039 | CONST_BITS-PASS1_BITS-1); | 3069 | dataptr[2] = (DCTELEM) |
3040 | dataptr[6] = (DCTELEM) RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), | 3070 | RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), /* c2-c6 */ |
3041 | CONST_BITS-PASS1_BITS-1); | 3071 | CONST_BITS-PASS1_BITS-1); |
3072 | dataptr[6] = (DCTELEM) | ||
3073 | RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), /* c2+c6 */ | ||
3074 | CONST_BITS-PASS1_BITS-1); | ||
3042 | 3075 | ||
3043 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). | 3076 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). |
3044 | * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
3045 | * i0..i3 in the paper are tmp0..tmp3 here. | 3077 | * i0..i3 in the paper are tmp0..tmp3 here. |
3046 | */ | 3078 | */ |
3047 | 3079 | ||
3048 | tmp10 = tmp0 + tmp3; | ||
3049 | tmp11 = tmp1 + tmp2; | ||
3050 | tmp12 = tmp0 + tmp2; | 3080 | tmp12 = tmp0 + tmp2; |
3051 | tmp13 = tmp1 + tmp3; | 3081 | tmp13 = tmp1 + tmp3; |
3052 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | 3082 | |
3083 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | ||
3053 | /* Add fudge factor here for final descale. */ | 3084 | /* Add fudge factor here for final descale. */ |
3054 | z1 += ONE << (CONST_BITS-PASS1_BITS-2); | 3085 | z1 += ONE << (CONST_BITS-PASS1_BITS-2); |
3055 | 3086 | ||
3056 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ | 3087 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* -c3+c5 */ |
3057 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ | 3088 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ |
3058 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
3059 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ | ||
3060 | tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ | ||
3061 | tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ | ||
3062 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ | ||
3063 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ | ||
3064 | |||
3065 | tmp12 += z1; | 3089 | tmp12 += z1; |
3066 | tmp13 += z1; | 3090 | tmp13 += z1; |
3067 | 3091 | ||
3068 | dataptr[1] = (DCTELEM) | 3092 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
3069 | RIGHT_SHIFT(tmp0 + tmp10 + tmp12, CONST_BITS-PASS1_BITS-1); | 3093 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ |
3070 | dataptr[3] = (DCTELEM) | 3094 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
3071 | RIGHT_SHIFT(tmp1 + tmp11 + tmp13, CONST_BITS-PASS1_BITS-1); | 3095 | tmp0 += z1 + tmp12; |
3072 | dataptr[5] = (DCTELEM) | 3096 | tmp3 += z1 + tmp13; |
3073 | RIGHT_SHIFT(tmp2 + tmp11 + tmp12, CONST_BITS-PASS1_BITS-1); | 3097 | |
3074 | dataptr[7] = (DCTELEM) | 3098 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
3075 | RIGHT_SHIFT(tmp3 + tmp10 + tmp13, CONST_BITS-PASS1_BITS-1); | 3099 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ |
3100 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
3101 | tmp1 += z1 + tmp13; | ||
3102 | tmp2 += z1 + tmp12; | ||
3103 | |||
3104 | dataptr[1] = (DCTELEM) RIGHT_SHIFT(tmp0, CONST_BITS-PASS1_BITS-1); | ||
3105 | dataptr[3] = (DCTELEM) RIGHT_SHIFT(tmp1, CONST_BITS-PASS1_BITS-1); | ||
3106 | dataptr[5] = (DCTELEM) RIGHT_SHIFT(tmp2, CONST_BITS-PASS1_BITS-1); | ||
3107 | dataptr[7] = (DCTELEM) RIGHT_SHIFT(tmp3, CONST_BITS-PASS1_BITS-1); | ||
3076 | 3108 | ||
3077 | dataptr += DCTSIZE; /* advance pointer to next row */ | 3109 | dataptr += DCTSIZE; /* advance pointer to next row */ |
3078 | } | 3110 | } |
@@ -3080,7 +3112,8 @@ jpeg_fdct_8x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3080 | /* Pass 2: process columns. | 3112 | /* Pass 2: process columns. |
3081 | * We remove the PASS1_BITS scaling, but leave the results scaled up | 3113 | * We remove the PASS1_BITS scaling, but leave the results scaled up |
3082 | * by an overall factor of 8. | 3114 | * by an overall factor of 8. |
3083 | * 4-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | 3115 | * 4-point FDCT kernel, |
3116 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. | ||
3084 | */ | 3117 | */ |
3085 | 3118 | ||
3086 | dataptr = data; | 3119 | dataptr = data; |
@@ -3099,7 +3132,7 @@ jpeg_fdct_8x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3099 | 3132 | ||
3100 | /* Odd part */ | 3133 | /* Odd part */ |
3101 | 3134 | ||
3102 | tmp0 = MULTIPLY(tmp10 + tmp11, FIX_0_541196100); /* c6 */ | 3135 | tmp0 = MULTIPLY(tmp10 + tmp11, FIX_0_541196100); /* c6 */ |
3103 | /* Add fudge factor here for final descale. */ | 3136 | /* Add fudge factor here for final descale. */ |
3104 | tmp0 += ONE << (CONST_BITS+PASS1_BITS-1); | 3137 | tmp0 += ONE << (CONST_BITS+PASS1_BITS-1); |
3105 | 3138 | ||
@@ -3134,12 +3167,13 @@ jpeg_fdct_6x3 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3134 | /* Pre-zero output coefficient block. */ | 3167 | /* Pre-zero output coefficient block. */ |
3135 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 3168 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
3136 | 3169 | ||
3137 | /* Pass 1: process rows. */ | 3170 | /* Pass 1: process rows. |
3138 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 3171 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
3139 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 3172 | * furthermore, we scale the results by 2**PASS1_BITS. |
3140 | /* We scale the results further by 2 as part of output adaption */ | 3173 | * We scale the results further by 2 as part of output adaption |
3141 | /* scaling for different DCT size. */ | 3174 | * scaling for different DCT size. |
3142 | /* 6-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/12). */ | 3175 | * 6-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/12). |
3176 | */ | ||
3143 | 3177 | ||
3144 | dataptr = data; | 3178 | dataptr = data; |
3145 | for (ctr = 0; ctr < 3; ctr++) { | 3179 | for (ctr = 0; ctr < 3; ctr++) { |
@@ -3234,12 +3268,13 @@ jpeg_fdct_4x2 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3234 | /* Pre-zero output coefficient block. */ | 3268 | /* Pre-zero output coefficient block. */ |
3235 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 3269 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
3236 | 3270 | ||
3237 | /* Pass 1: process rows. */ | 3271 | /* Pass 1: process rows. |
3238 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 3272 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
3239 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 3273 | * furthermore, we scale the results by 2**PASS1_BITS. |
3240 | /* We must also scale the output by (8/4)*(8/2) = 2**3, which we add here. */ | 3274 | * We must also scale the output by (8/4)*(8/2) = 2**3, which we add here. |
3241 | /* 4-point FDCT kernel, */ | 3275 | * 4-point FDCT kernel, |
3242 | /* cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. */ | 3276 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. |
3277 | */ | ||
3243 | 3278 | ||
3244 | dataptr = data; | 3279 | dataptr = data; |
3245 | for (ctr = 0; ctr < 2; ctr++) { | 3280 | for (ctr = 0; ctr < 2; ctr++) { |
@@ -3323,10 +3358,12 @@ jpeg_fdct_2x1 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3323 | */ | 3358 | */ |
3324 | 3359 | ||
3325 | /* Even part */ | 3360 | /* Even part */ |
3361 | |||
3326 | /* Apply unsigned->signed conversion */ | 3362 | /* Apply unsigned->signed conversion */ |
3327 | data[0] = (DCTELEM) ((tmp0 + tmp1 - 2 * CENTERJSAMPLE) << 5); | 3363 | data[0] = (DCTELEM) ((tmp0 + tmp1 - 2 * CENTERJSAMPLE) << 5); |
3328 | 3364 | ||
3329 | /* Odd part */ | 3365 | /* Odd part */ |
3366 | |||
3330 | data[1] = (DCTELEM) ((tmp0 - tmp1) << 5); | 3367 | data[1] = (DCTELEM) ((tmp0 - tmp1) << 5); |
3331 | } | 3368 | } |
3332 | 3369 | ||
@@ -3350,9 +3387,11 @@ jpeg_fdct_8x16 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3350 | int ctr; | 3387 | int ctr; |
3351 | SHIFT_TEMPS | 3388 | SHIFT_TEMPS |
3352 | 3389 | ||
3353 | /* Pass 1: process rows. */ | 3390 | /* Pass 1: process rows. |
3354 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 3391 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
3355 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 3392 | * furthermore, we scale the results by 2**PASS1_BITS. |
3393 | * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
3394 | */ | ||
3356 | 3395 | ||
3357 | dataptr = data; | 3396 | dataptr = data; |
3358 | ctr = 0; | 3397 | ctr = 0; |
@@ -3360,7 +3399,7 @@ jpeg_fdct_8x16 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3360 | elemptr = sample_data[ctr] + start_col; | 3399 | elemptr = sample_data[ctr] + start_col; |
3361 | 3400 | ||
3362 | /* Even part per LL&M figure 1 --- note that published figure is faulty; | 3401 | /* Even part per LL&M figure 1 --- note that published figure is faulty; |
3363 | * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". | 3402 | * rotator "c1" should be "c6". |
3364 | */ | 3403 | */ |
3365 | 3404 | ||
3366 | tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); | 3405 | tmp0 = GETJSAMPLE(elemptr[0]) + GETJSAMPLE(elemptr[7]); |
@@ -3382,39 +3421,43 @@ jpeg_fdct_8x16 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3382 | dataptr[0] = (DCTELEM) ((tmp10 + tmp11 - 8 * CENTERJSAMPLE) << PASS1_BITS); | 3421 | dataptr[0] = (DCTELEM) ((tmp10 + tmp11 - 8 * CENTERJSAMPLE) << PASS1_BITS); |
3383 | dataptr[4] = (DCTELEM) ((tmp10 - tmp11) << PASS1_BITS); | 3422 | dataptr[4] = (DCTELEM) ((tmp10 - tmp11) << PASS1_BITS); |
3384 | 3423 | ||
3385 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); | 3424 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); /* c6 */ |
3386 | dataptr[2] = (DCTELEM) DESCALE(z1 + MULTIPLY(tmp12, FIX_0_765366865), | 3425 | dataptr[2] = (DCTELEM) |
3387 | CONST_BITS-PASS1_BITS); | 3426 | DESCALE(z1 + MULTIPLY(tmp12, FIX_0_765366865), /* c2-c6 */ |
3388 | dataptr[6] = (DCTELEM) DESCALE(z1 - MULTIPLY(tmp13, FIX_1_847759065), | 3427 | CONST_BITS-PASS1_BITS); |
3389 | CONST_BITS-PASS1_BITS); | 3428 | dataptr[6] = (DCTELEM) |
3429 | DESCALE(z1 - MULTIPLY(tmp13, FIX_1_847759065), /* c2+c6 */ | ||
3430 | CONST_BITS-PASS1_BITS); | ||
3390 | 3431 | ||
3391 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). | 3432 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). |
3392 | * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
3393 | * i0..i3 in the paper are tmp0..tmp3 here. | 3433 | * i0..i3 in the paper are tmp0..tmp3 here. |
3394 | */ | 3434 | */ |
3395 | 3435 | ||
3396 | tmp10 = tmp0 + tmp3; | ||
3397 | tmp11 = tmp1 + tmp2; | ||
3398 | tmp12 = tmp0 + tmp2; | 3436 | tmp12 = tmp0 + tmp2; |
3399 | tmp13 = tmp1 + tmp3; | 3437 | tmp13 = tmp1 + tmp3; |
3400 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | ||
3401 | |||
3402 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ | ||
3403 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ | ||
3404 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
3405 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ | ||
3406 | tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ | ||
3407 | tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ | ||
3408 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ | ||
3409 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ | ||
3410 | 3438 | ||
3439 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | ||
3440 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* -c3+c5 */ | ||
3441 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ | ||
3411 | tmp12 += z1; | 3442 | tmp12 += z1; |
3412 | tmp13 += z1; | 3443 | tmp13 += z1; |
3413 | 3444 | ||
3414 | dataptr[1] = (DCTELEM) DESCALE(tmp0 + tmp10 + tmp12, CONST_BITS-PASS1_BITS); | 3445 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
3415 | dataptr[3] = (DCTELEM) DESCALE(tmp1 + tmp11 + tmp13, CONST_BITS-PASS1_BITS); | 3446 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ |
3416 | dataptr[5] = (DCTELEM) DESCALE(tmp2 + tmp11 + tmp12, CONST_BITS-PASS1_BITS); | 3447 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
3417 | dataptr[7] = (DCTELEM) DESCALE(tmp3 + tmp10 + tmp13, CONST_BITS-PASS1_BITS); | 3448 | tmp0 += z1 + tmp12; |
3449 | tmp3 += z1 + tmp13; | ||
3450 | |||
3451 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ | ||
3452 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ | ||
3453 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
3454 | tmp1 += z1 + tmp13; | ||
3455 | tmp2 += z1 + tmp12; | ||
3456 | |||
3457 | dataptr[1] = (DCTELEM) DESCALE(tmp0, CONST_BITS-PASS1_BITS); | ||
3458 | dataptr[3] = (DCTELEM) DESCALE(tmp1, CONST_BITS-PASS1_BITS); | ||
3459 | dataptr[5] = (DCTELEM) DESCALE(tmp2, CONST_BITS-PASS1_BITS); | ||
3460 | dataptr[7] = (DCTELEM) DESCALE(tmp3, CONST_BITS-PASS1_BITS); | ||
3418 | 3461 | ||
3419 | ctr++; | 3462 | ctr++; |
3420 | 3463 | ||
@@ -3541,10 +3584,11 @@ jpeg_fdct_7x14 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3541 | /* Pre-zero output coefficient block. */ | 3584 | /* Pre-zero output coefficient block. */ |
3542 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 3585 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
3543 | 3586 | ||
3544 | /* Pass 1: process rows. */ | 3587 | /* Pass 1: process rows. |
3545 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 3588 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
3546 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 3589 | * furthermore, we scale the results by 2**PASS1_BITS. |
3547 | /* 7-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/14). */ | 3590 | * 7-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/14). |
3591 | */ | ||
3548 | 3592 | ||
3549 | dataptr = data; | 3593 | dataptr = data; |
3550 | ctr = 0; | 3594 | ctr = 0; |
@@ -3721,10 +3765,11 @@ jpeg_fdct_6x12 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3721 | /* Pre-zero output coefficient block. */ | 3765 | /* Pre-zero output coefficient block. */ |
3722 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 3766 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
3723 | 3767 | ||
3724 | /* Pass 1: process rows. */ | 3768 | /* Pass 1: process rows. |
3725 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 3769 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
3726 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 3770 | * furthermore, we scale the results by 2**PASS1_BITS. |
3727 | /* 6-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/12). */ | 3771 | * 6-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/12). |
3772 | */ | ||
3728 | 3773 | ||
3729 | dataptr = data; | 3774 | dataptr = data; |
3730 | ctr = 0; | 3775 | ctr = 0; |
@@ -3870,10 +3915,11 @@ jpeg_fdct_5x10 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
3870 | /* Pre-zero output coefficient block. */ | 3915 | /* Pre-zero output coefficient block. */ |
3871 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 3916 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
3872 | 3917 | ||
3873 | /* Pass 1: process rows. */ | 3918 | /* Pass 1: process rows. |
3874 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 3919 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
3875 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 3920 | * furthermore, we scale the results by 2**PASS1_BITS. |
3876 | /* 5-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/10). */ | 3921 | * 5-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/10). |
3922 | */ | ||
3877 | 3923 | ||
3878 | dataptr = data; | 3924 | dataptr = data; |
3879 | ctr = 0; | 3925 | ctr = 0; |
@@ -4015,11 +4061,13 @@ jpeg_fdct_4x8 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
4015 | /* Pre-zero output coefficient block. */ | 4061 | /* Pre-zero output coefficient block. */ |
4016 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 4062 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
4017 | 4063 | ||
4018 | /* Pass 1: process rows. */ | 4064 | /* Pass 1: process rows. |
4019 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 4065 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
4020 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 4066 | * furthermore, we scale the results by 2**PASS1_BITS. |
4021 | /* We must also scale the output by 8/4 = 2, which we add here. */ | 4067 | * We must also scale the output by 8/4 = 2, which we add here. |
4022 | /* 4-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). */ | 4068 | * 4-point FDCT kernel, |
4069 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point FDCT]. | ||
4070 | */ | ||
4023 | 4071 | ||
4024 | dataptr = data; | 4072 | dataptr = data; |
4025 | for (ctr = 0; ctr < DCTSIZE; ctr++) { | 4073 | for (ctr = 0; ctr < DCTSIZE; ctr++) { |
@@ -4057,12 +4105,13 @@ jpeg_fdct_4x8 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
4057 | /* Pass 2: process columns. | 4105 | /* Pass 2: process columns. |
4058 | * We remove the PASS1_BITS scaling, but leave the results scaled up | 4106 | * We remove the PASS1_BITS scaling, but leave the results scaled up |
4059 | * by an overall factor of 8. | 4107 | * by an overall factor of 8. |
4108 | * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
4060 | */ | 4109 | */ |
4061 | 4110 | ||
4062 | dataptr = data; | 4111 | dataptr = data; |
4063 | for (ctr = 0; ctr < 4; ctr++) { | 4112 | for (ctr = 0; ctr < 4; ctr++) { |
4064 | /* Even part per LL&M figure 1 --- note that published figure is faulty; | 4113 | /* Even part per LL&M figure 1 --- note that published figure is faulty; |
4065 | * rotator "sqrt(2)*c1" should be "sqrt(2)*c6". | 4114 | * rotator "c1" should be "c6". |
4066 | */ | 4115 | */ |
4067 | 4116 | ||
4068 | tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; | 4117 | tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7]; |
@@ -4084,47 +4133,49 @@ jpeg_fdct_4x8 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
4084 | dataptr[DCTSIZE*0] = (DCTELEM) RIGHT_SHIFT(tmp10 + tmp11, PASS1_BITS); | 4133 | dataptr[DCTSIZE*0] = (DCTELEM) RIGHT_SHIFT(tmp10 + tmp11, PASS1_BITS); |
4085 | dataptr[DCTSIZE*4] = (DCTELEM) RIGHT_SHIFT(tmp10 - tmp11, PASS1_BITS); | 4134 | dataptr[DCTSIZE*4] = (DCTELEM) RIGHT_SHIFT(tmp10 - tmp11, PASS1_BITS); |
4086 | 4135 | ||
4087 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); | 4136 | z1 = MULTIPLY(tmp12 + tmp13, FIX_0_541196100); /* c6 */ |
4088 | /* Add fudge factor here for final descale. */ | 4137 | /* Add fudge factor here for final descale. */ |
4089 | z1 += ONE << (CONST_BITS+PASS1_BITS-1); | 4138 | z1 += ONE << (CONST_BITS+PASS1_BITS-1); |
4139 | |||
4090 | dataptr[DCTSIZE*2] = (DCTELEM) | 4140 | dataptr[DCTSIZE*2] = (DCTELEM) |
4091 | RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), CONST_BITS+PASS1_BITS); | 4141 | RIGHT_SHIFT(z1 + MULTIPLY(tmp12, FIX_0_765366865), /* c2-c6 */ |
4142 | CONST_BITS+PASS1_BITS); | ||
4092 | dataptr[DCTSIZE*6] = (DCTELEM) | 4143 | dataptr[DCTSIZE*6] = (DCTELEM) |
4093 | RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), CONST_BITS+PASS1_BITS); | 4144 | RIGHT_SHIFT(z1 - MULTIPLY(tmp13, FIX_1_847759065), /* c2+c6 */ |
4145 | CONST_BITS+PASS1_BITS); | ||
4094 | 4146 | ||
4095 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). | 4147 | /* Odd part per figure 8 --- note paper omits factor of sqrt(2). |
4096 | * 8-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
4097 | * i0..i3 in the paper are tmp0..tmp3 here. | 4148 | * i0..i3 in the paper are tmp0..tmp3 here. |
4098 | */ | 4149 | */ |
4099 | 4150 | ||
4100 | tmp10 = tmp0 + tmp3; | ||
4101 | tmp11 = tmp1 + tmp2; | ||
4102 | tmp12 = tmp0 + tmp2; | 4151 | tmp12 = tmp0 + tmp2; |
4103 | tmp13 = tmp1 + tmp3; | 4152 | tmp13 = tmp1 + tmp3; |
4104 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | 4153 | |
4154 | z1 = MULTIPLY(tmp12 + tmp13, FIX_1_175875602); /* c3 */ | ||
4105 | /* Add fudge factor here for final descale. */ | 4155 | /* Add fudge factor here for final descale. */ |
4106 | z1 += ONE << (CONST_BITS+PASS1_BITS-1); | 4156 | z1 += ONE << (CONST_BITS+PASS1_BITS-1); |
4107 | 4157 | ||
4108 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ | 4158 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* -c3+c5 */ |
4109 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ | 4159 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ |
4110 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
4111 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ | ||
4112 | tmp10 = MULTIPLY(tmp10, - FIX_0_899976223); /* c7-c3 */ | ||
4113 | tmp11 = MULTIPLY(tmp11, - FIX_2_562915447); /* -c1-c3 */ | ||
4114 | tmp12 = MULTIPLY(tmp12, - FIX_0_390180644); /* c5-c3 */ | ||
4115 | tmp13 = MULTIPLY(tmp13, - FIX_1_961570560); /* -c3-c5 */ | ||
4116 | |||
4117 | tmp12 += z1; | 4160 | tmp12 += z1; |
4118 | tmp13 += z1; | 4161 | tmp13 += z1; |
4119 | 4162 | ||
4120 | dataptr[DCTSIZE*1] = (DCTELEM) | 4163 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
4121 | RIGHT_SHIFT(tmp0 + tmp10 + tmp12, CONST_BITS+PASS1_BITS); | 4164 | tmp0 = MULTIPLY(tmp0, FIX_1_501321110); /* c1+c3-c5-c7 */ |
4122 | dataptr[DCTSIZE*3] = (DCTELEM) | 4165 | tmp3 = MULTIPLY(tmp3, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
4123 | RIGHT_SHIFT(tmp1 + tmp11 + tmp13, CONST_BITS+PASS1_BITS); | 4166 | tmp0 += z1 + tmp12; |
4124 | dataptr[DCTSIZE*5] = (DCTELEM) | 4167 | tmp3 += z1 + tmp13; |
4125 | RIGHT_SHIFT(tmp2 + tmp11 + tmp12, CONST_BITS+PASS1_BITS); | 4168 | |
4126 | dataptr[DCTSIZE*7] = (DCTELEM) | 4169 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
4127 | RIGHT_SHIFT(tmp3 + tmp10 + tmp13, CONST_BITS+PASS1_BITS); | 4170 | tmp1 = MULTIPLY(tmp1, FIX_3_072711026); /* c1+c3+c5-c7 */ |
4171 | tmp2 = MULTIPLY(tmp2, FIX_2_053119869); /* c1+c3-c5+c7 */ | ||
4172 | tmp1 += z1 + tmp13; | ||
4173 | tmp2 += z1 + tmp12; | ||
4174 | |||
4175 | dataptr[DCTSIZE*1] = (DCTELEM) RIGHT_SHIFT(tmp0, CONST_BITS+PASS1_BITS); | ||
4176 | dataptr[DCTSIZE*3] = (DCTELEM) RIGHT_SHIFT(tmp1, CONST_BITS+PASS1_BITS); | ||
4177 | dataptr[DCTSIZE*5] = (DCTELEM) RIGHT_SHIFT(tmp2, CONST_BITS+PASS1_BITS); | ||
4178 | dataptr[DCTSIZE*7] = (DCTELEM) RIGHT_SHIFT(tmp3, CONST_BITS+PASS1_BITS); | ||
4128 | 4179 | ||
4129 | dataptr++; /* advance pointer to next column */ | 4180 | dataptr++; /* advance pointer to next column */ |
4130 | } | 4181 | } |
@@ -4150,12 +4201,13 @@ jpeg_fdct_3x6 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
4150 | /* Pre-zero output coefficient block. */ | 4201 | /* Pre-zero output coefficient block. */ |
4151 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 4202 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
4152 | 4203 | ||
4153 | /* Pass 1: process rows. */ | 4204 | /* Pass 1: process rows. |
4154 | /* Note results are scaled up by sqrt(8) compared to a true DCT; */ | 4205 | * Note results are scaled up by sqrt(8) compared to a true DCT; |
4155 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 4206 | * furthermore, we scale the results by 2**PASS1_BITS. |
4156 | /* We scale the results further by 2 as part of output adaption */ | 4207 | * We scale the results further by 2 as part of output adaption |
4157 | /* scaling for different DCT size. */ | 4208 | * scaling for different DCT size. |
4158 | /* 3-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/6). */ | 4209 | * 3-point FDCT kernel, cK represents sqrt(2) * cos(K*pi/6). |
4210 | */ | ||
4159 | 4211 | ||
4160 | dataptr = data; | 4212 | dataptr = data; |
4161 | for (ctr = 0; ctr < 6; ctr++) { | 4213 | for (ctr = 0; ctr < 6; ctr++) { |
@@ -4255,9 +4307,10 @@ jpeg_fdct_2x4 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
4255 | /* Pre-zero output coefficient block. */ | 4307 | /* Pre-zero output coefficient block. */ |
4256 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 4308 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
4257 | 4309 | ||
4258 | /* Pass 1: process rows. */ | 4310 | /* Pass 1: process rows. |
4259 | /* Note results are scaled up by sqrt(8) compared to a true DCT. */ | 4311 | * Note results are scaled up by sqrt(8) compared to a true DCT. |
4260 | /* We must also scale the output by (8/2)*(8/4) = 2**3, which we add here. */ | 4312 | * We must also scale the output by (8/2)*(8/4) = 2**3, which we add here. |
4313 | */ | ||
4261 | 4314 | ||
4262 | dataptr = data; | 4315 | dataptr = data; |
4263 | for (ctr = 0; ctr < 4; ctr++) { | 4316 | for (ctr = 0; ctr < 4; ctr++) { |
@@ -4329,18 +4382,23 @@ jpeg_fdct_1x2 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col) | |||
4329 | /* Pre-zero output coefficient block. */ | 4382 | /* Pre-zero output coefficient block. */ |
4330 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); | 4383 | MEMZERO(data, SIZEOF(DCTELEM) * DCTSIZE2); |
4331 | 4384 | ||
4332 | tmp0 = GETJSAMPLE(sample_data[0][start_col]); | 4385 | /* Pass 1: empty. */ |
4333 | tmp1 = GETJSAMPLE(sample_data[1][start_col]); | ||
4334 | 4386 | ||
4335 | /* We leave the results scaled up by an overall factor of 8. | 4387 | /* Pass 2: process columns. |
4388 | * We leave the results scaled up by an overall factor of 8. | ||
4336 | * We must also scale the output by (8/1)*(8/2) = 2**5. | 4389 | * We must also scale the output by (8/1)*(8/2) = 2**5. |
4337 | */ | 4390 | */ |
4338 | 4391 | ||
4339 | /* Even part */ | 4392 | /* Even part */ |
4393 | |||
4394 | tmp0 = GETJSAMPLE(sample_data[0][start_col]); | ||
4395 | tmp1 = GETJSAMPLE(sample_data[1][start_col]); | ||
4396 | |||
4340 | /* Apply unsigned->signed conversion */ | 4397 | /* Apply unsigned->signed conversion */ |
4341 | data[DCTSIZE*0] = (DCTELEM) ((tmp0 + tmp1 - 2 * CENTERJSAMPLE) << 5); | 4398 | data[DCTSIZE*0] = (DCTELEM) ((tmp0 + tmp1 - 2 * CENTERJSAMPLE) << 5); |
4342 | 4399 | ||
4343 | /* Odd part */ | 4400 | /* Odd part */ |
4401 | |||
4344 | data[DCTSIZE*1] = (DCTELEM) ((tmp0 - tmp1) << 5); | 4402 | data[DCTSIZE*1] = (DCTELEM) ((tmp0 - tmp1) << 5); |
4345 | } | 4403 | } |
4346 | 4404 | ||
diff --git a/gs/jpeg/jidctint.c b/gs/jpeg/jidctint.c index dcdf7ce45..76fe5d9cf 100644 --- a/gs/jpeg/jidctint.c +++ b/gs/jpeg/jidctint.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jidctint.c | 2 | * jidctint.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1998, Thomas G. Lane. | 4 | * Copyright (C) 1991-1998, Thomas G. Lane. |
5 | * Modification developed 2002-2009 by Guido Vollbeding. | 5 | * Modification developed 2002-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -165,6 +165,8 @@ | |||
165 | 165 | ||
166 | /* | 166 | /* |
167 | * Perform dequantization and inverse DCT on one block of coefficients. | 167 | * Perform dequantization and inverse DCT on one block of coefficients. |
168 | * | ||
169 | * cK represents sqrt(2) * cos(K*pi/16). | ||
168 | */ | 170 | */ |
169 | 171 | ||
170 | GLOBAL(void) | 172 | GLOBAL(void) |
@@ -184,9 +186,10 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
184 | int workspace[DCTSIZE2]; /* buffers data between passes */ | 186 | int workspace[DCTSIZE2]; /* buffers data between passes */ |
185 | SHIFT_TEMPS | 187 | SHIFT_TEMPS |
186 | 188 | ||
187 | /* Pass 1: process columns from input, store into work array. */ | 189 | /* Pass 1: process columns from input, store into work array. |
188 | /* Note results are scaled up by sqrt(8) compared to a true IDCT; */ | 190 | * Note results are scaled up by sqrt(8) compared to a true IDCT; |
189 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 191 | * furthermore, we scale the results by 2**PASS1_BITS. |
192 | */ | ||
190 | 193 | ||
191 | inptr = coef_block; | 194 | inptr = coef_block; |
192 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 195 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
@@ -223,15 +226,16 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
223 | continue; | 226 | continue; |
224 | } | 227 | } |
225 | 228 | ||
226 | /* Even part: reverse the even part of the forward DCT. */ | 229 | /* Even part: reverse the even part of the forward DCT. |
227 | /* The rotator is sqrt(2)*c(-6). */ | 230 | * The rotator is c(-6). |
228 | 231 | */ | |
232 | |||
229 | z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); | 233 | z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); |
230 | z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); | 234 | z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); |
231 | 235 | ||
232 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); | 236 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ |
233 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); | 237 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ |
234 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); | 238 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ |
235 | 239 | ||
236 | z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); | 240 | z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); |
237 | z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); | 241 | z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); |
@@ -256,25 +260,25 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
256 | tmp1 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); | 260 | tmp1 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); |
257 | tmp2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); | 261 | tmp2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); |
258 | tmp3 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); | 262 | tmp3 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); |
259 | 263 | ||
260 | z2 = tmp0 + tmp2; | 264 | z2 = tmp0 + tmp2; |
261 | z3 = tmp1 + tmp3; | 265 | z3 = tmp1 + tmp3; |
262 | 266 | ||
263 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ | 267 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* c3 */ |
264 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ | 268 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* -c3-c5 */ |
265 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ | 269 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* -c3+c5 */ |
266 | z2 += z1; | 270 | z2 += z1; |
267 | z3 += z1; | 271 | z3 += z1; |
268 | 272 | ||
269 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ | 273 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
270 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ | 274 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
271 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ | 275 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* c1+c3-c5-c7 */ |
272 | tmp0 += z1 + z2; | 276 | tmp0 += z1 + z2; |
273 | tmp3 += z1 + z3; | 277 | tmp3 += z1 + z3; |
274 | 278 | ||
275 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | 279 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
276 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ | 280 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* c1+c3-c5+c7 */ |
277 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ | 281 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* c1+c3+c5-c7 */ |
278 | tmp1 += z1 + z3; | 282 | tmp1 += z1 + z3; |
279 | tmp2 += z1 + z2; | 283 | tmp2 += z1 + z2; |
280 | 284 | ||
@@ -288,15 +292,16 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
288 | wsptr[DCTSIZE*5] = (int) RIGHT_SHIFT(tmp12 - tmp1, CONST_BITS-PASS1_BITS); | 292 | wsptr[DCTSIZE*5] = (int) RIGHT_SHIFT(tmp12 - tmp1, CONST_BITS-PASS1_BITS); |
289 | wsptr[DCTSIZE*3] = (int) RIGHT_SHIFT(tmp13 + tmp0, CONST_BITS-PASS1_BITS); | 293 | wsptr[DCTSIZE*3] = (int) RIGHT_SHIFT(tmp13 + tmp0, CONST_BITS-PASS1_BITS); |
290 | wsptr[DCTSIZE*4] = (int) RIGHT_SHIFT(tmp13 - tmp0, CONST_BITS-PASS1_BITS); | 294 | wsptr[DCTSIZE*4] = (int) RIGHT_SHIFT(tmp13 - tmp0, CONST_BITS-PASS1_BITS); |
291 | 295 | ||
292 | inptr++; /* advance pointers to next column */ | 296 | inptr++; /* advance pointers to next column */ |
293 | quantptr++; | 297 | quantptr++; |
294 | wsptr++; | 298 | wsptr++; |
295 | } | 299 | } |
296 | 300 | ||
297 | /* Pass 2: process rows from work array, store into output array. */ | 301 | /* Pass 2: process rows from work array, store into output array. |
298 | /* Note that we must descale the results by a factor of 8 == 2**3, */ | 302 | * Note that we must descale the results by a factor of 8 == 2**3, |
299 | /* and also undo the PASS1_BITS scaling. */ | 303 | * and also undo the PASS1_BITS scaling. |
304 | */ | ||
300 | 305 | ||
301 | wsptr = workspace; | 306 | wsptr = workspace; |
302 | for (ctr = 0; ctr < DCTSIZE; ctr++) { | 307 | for (ctr = 0; ctr < DCTSIZE; ctr++) { |
@@ -330,15 +335,16 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
330 | } | 335 | } |
331 | #endif | 336 | #endif |
332 | 337 | ||
333 | /* Even part: reverse the even part of the forward DCT. */ | 338 | /* Even part: reverse the even part of the forward DCT. |
334 | /* The rotator is sqrt(2)*c(-6). */ | 339 | * The rotator is c(-6). |
335 | 340 | */ | |
341 | |||
336 | z2 = (INT32) wsptr[2]; | 342 | z2 = (INT32) wsptr[2]; |
337 | z3 = (INT32) wsptr[6]; | 343 | z3 = (INT32) wsptr[6]; |
338 | 344 | ||
339 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); | 345 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ |
340 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); | 346 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ |
341 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); | 347 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ |
342 | 348 | ||
343 | /* Add fudge factor here for final descale. */ | 349 | /* Add fudge factor here for final descale. */ |
344 | z2 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); | 350 | z2 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); |
@@ -346,7 +352,7 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
346 | 352 | ||
347 | tmp0 = (z2 + z3) << CONST_BITS; | 353 | tmp0 = (z2 + z3) << CONST_BITS; |
348 | tmp1 = (z2 - z3) << CONST_BITS; | 354 | tmp1 = (z2 - z3) << CONST_BITS; |
349 | 355 | ||
350 | tmp10 = tmp0 + tmp2; | 356 | tmp10 = tmp0 + tmp2; |
351 | tmp13 = tmp0 - tmp2; | 357 | tmp13 = tmp0 - tmp2; |
352 | tmp11 = tmp1 + tmp3; | 358 | tmp11 = tmp1 + tmp3; |
@@ -364,21 +370,21 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
364 | z2 = tmp0 + tmp2; | 370 | z2 = tmp0 + tmp2; |
365 | z3 = tmp1 + tmp3; | 371 | z3 = tmp1 + tmp3; |
366 | 372 | ||
367 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ | 373 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* c3 */ |
368 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ | 374 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* -c3-c5 */ |
369 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ | 375 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* -c3+c5 */ |
370 | z2 += z1; | 376 | z2 += z1; |
371 | z3 += z1; | 377 | z3 += z1; |
372 | 378 | ||
373 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ | 379 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
374 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ | 380 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
375 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ | 381 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* c1+c3-c5-c7 */ |
376 | tmp0 += z1 + z2; | 382 | tmp0 += z1 + z2; |
377 | tmp3 += z1 + z3; | 383 | tmp3 += z1 + z3; |
378 | 384 | ||
379 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | 385 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
380 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ | 386 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* c1+c3-c5+c7 */ |
381 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ | 387 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* c1+c3+c5-c7 */ |
382 | tmp1 += z1 + z3; | 388 | tmp1 += z1 + z3; |
383 | tmp2 += z1 + z2; | 389 | tmp2 += z1 + z2; |
384 | 390 | ||
@@ -2835,9 +2841,11 @@ jpeg_idct_16x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
2835 | int workspace[8*8]; /* buffers data between passes */ | 2841 | int workspace[8*8]; /* buffers data between passes */ |
2836 | SHIFT_TEMPS | 2842 | SHIFT_TEMPS |
2837 | 2843 | ||
2838 | /* Pass 1: process columns from input, store into work array. */ | 2844 | /* Pass 1: process columns from input, store into work array. |
2839 | /* Note results are scaled up by sqrt(8) compared to a true IDCT; */ | 2845 | * Note results are scaled up by sqrt(8) compared to a true IDCT; |
2840 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 2846 | * furthermore, we scale the results by 2**PASS1_BITS. |
2847 | * 8-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
2848 | */ | ||
2841 | 2849 | ||
2842 | inptr = coef_block; | 2850 | inptr = coef_block; |
2843 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 2851 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
@@ -2851,14 +2859,14 @@ jpeg_idct_16x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
2851 | * With typical images and quantization tables, half or more of the | 2859 | * With typical images and quantization tables, half or more of the |
2852 | * column DCT calculations can be simplified this way. | 2860 | * column DCT calculations can be simplified this way. |
2853 | */ | 2861 | */ |
2854 | 2862 | ||
2855 | if (inptr[DCTSIZE*1] == 0 && inptr[DCTSIZE*2] == 0 && | 2863 | if (inptr[DCTSIZE*1] == 0 && inptr[DCTSIZE*2] == 0 && |
2856 | inptr[DCTSIZE*3] == 0 && inptr[DCTSIZE*4] == 0 && | 2864 | inptr[DCTSIZE*3] == 0 && inptr[DCTSIZE*4] == 0 && |
2857 | inptr[DCTSIZE*5] == 0 && inptr[DCTSIZE*6] == 0 && | 2865 | inptr[DCTSIZE*5] == 0 && inptr[DCTSIZE*6] == 0 && |
2858 | inptr[DCTSIZE*7] == 0) { | 2866 | inptr[DCTSIZE*7] == 0) { |
2859 | /* AC terms all zero */ | 2867 | /* AC terms all zero */ |
2860 | int dcval = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]) << PASS1_BITS; | 2868 | int dcval = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]) << PASS1_BITS; |
2861 | 2869 | ||
2862 | wsptr[DCTSIZE*0] = dcval; | 2870 | wsptr[DCTSIZE*0] = dcval; |
2863 | wsptr[DCTSIZE*1] = dcval; | 2871 | wsptr[DCTSIZE*1] = dcval; |
2864 | wsptr[DCTSIZE*2] = dcval; | 2872 | wsptr[DCTSIZE*2] = dcval; |
@@ -2867,23 +2875,24 @@ jpeg_idct_16x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
2867 | wsptr[DCTSIZE*5] = dcval; | 2875 | wsptr[DCTSIZE*5] = dcval; |
2868 | wsptr[DCTSIZE*6] = dcval; | 2876 | wsptr[DCTSIZE*6] = dcval; |
2869 | wsptr[DCTSIZE*7] = dcval; | 2877 | wsptr[DCTSIZE*7] = dcval; |
2870 | 2878 | ||
2871 | inptr++; /* advance pointers to next column */ | 2879 | inptr++; /* advance pointers to next column */ |
2872 | quantptr++; | 2880 | quantptr++; |
2873 | wsptr++; | 2881 | wsptr++; |
2874 | continue; | 2882 | continue; |
2875 | } | 2883 | } |
2876 | 2884 | ||
2877 | /* Even part: reverse the even part of the forward DCT. */ | 2885 | /* Even part: reverse the even part of the forward DCT. |
2878 | /* The rotator is sqrt(2)*c(-6). */ | 2886 | * The rotator is c(-6). |
2879 | 2887 | */ | |
2888 | |||
2880 | z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); | 2889 | z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); |
2881 | z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); | 2890 | z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); |
2882 | 2891 | ||
2883 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); | 2892 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ |
2884 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); | 2893 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ |
2885 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); | 2894 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ |
2886 | 2895 | ||
2887 | z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); | 2896 | z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); |
2888 | z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); | 2897 | z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); |
2889 | z2 <<= CONST_BITS; | 2898 | z2 <<= CONST_BITS; |
@@ -2893,44 +2902,44 @@ jpeg_idct_16x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
2893 | 2902 | ||
2894 | tmp0 = z2 + z3; | 2903 | tmp0 = z2 + z3; |
2895 | tmp1 = z2 - z3; | 2904 | tmp1 = z2 - z3; |
2896 | 2905 | ||
2897 | tmp10 = tmp0 + tmp2; | 2906 | tmp10 = tmp0 + tmp2; |
2898 | tmp13 = tmp0 - tmp2; | 2907 | tmp13 = tmp0 - tmp2; |
2899 | tmp11 = tmp1 + tmp3; | 2908 | tmp11 = tmp1 + tmp3; |
2900 | tmp12 = tmp1 - tmp3; | 2909 | tmp12 = tmp1 - tmp3; |
2901 | 2910 | ||
2902 | /* Odd part per figure 8; the matrix is unitary and hence its | 2911 | /* Odd part per figure 8; the matrix is unitary and hence its |
2903 | * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. | 2912 | * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. |
2904 | */ | 2913 | */ |
2905 | 2914 | ||
2906 | tmp0 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); | 2915 | tmp0 = DEQUANTIZE(inptr[DCTSIZE*7], quantptr[DCTSIZE*7]); |
2907 | tmp1 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); | 2916 | tmp1 = DEQUANTIZE(inptr[DCTSIZE*5], quantptr[DCTSIZE*5]); |
2908 | tmp2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); | 2917 | tmp2 = DEQUANTIZE(inptr[DCTSIZE*3], quantptr[DCTSIZE*3]); |
2909 | tmp3 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); | 2918 | tmp3 = DEQUANTIZE(inptr[DCTSIZE*1], quantptr[DCTSIZE*1]); |
2910 | 2919 | ||
2911 | z2 = tmp0 + tmp2; | 2920 | z2 = tmp0 + tmp2; |
2912 | z3 = tmp1 + tmp3; | 2921 | z3 = tmp1 + tmp3; |
2913 | 2922 | ||
2914 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ | 2923 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* c3 */ |
2915 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ | 2924 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* -c3-c5 */ |
2916 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ | 2925 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* -c3+c5 */ |
2917 | z2 += z1; | 2926 | z2 += z1; |
2918 | z3 += z1; | 2927 | z3 += z1; |
2919 | 2928 | ||
2920 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ | 2929 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
2921 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ | 2930 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
2922 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ | 2931 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* c1+c3-c5-c7 */ |
2923 | tmp0 += z1 + z2; | 2932 | tmp0 += z1 + z2; |
2924 | tmp3 += z1 + z3; | 2933 | tmp3 += z1 + z3; |
2925 | 2934 | ||
2926 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | 2935 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
2927 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ | 2936 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* c1+c3-c5+c7 */ |
2928 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ | 2937 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* c1+c3+c5-c7 */ |
2929 | tmp1 += z1 + z3; | 2938 | tmp1 += z1 + z3; |
2930 | tmp2 += z1 + z2; | 2939 | tmp2 += z1 + z2; |
2931 | 2940 | ||
2932 | /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ | 2941 | /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ |
2933 | 2942 | ||
2934 | wsptr[DCTSIZE*0] = (int) RIGHT_SHIFT(tmp10 + tmp3, CONST_BITS-PASS1_BITS); | 2943 | wsptr[DCTSIZE*0] = (int) RIGHT_SHIFT(tmp10 + tmp3, CONST_BITS-PASS1_BITS); |
2935 | wsptr[DCTSIZE*7] = (int) RIGHT_SHIFT(tmp10 - tmp3, CONST_BITS-PASS1_BITS); | 2944 | wsptr[DCTSIZE*7] = (int) RIGHT_SHIFT(tmp10 - tmp3, CONST_BITS-PASS1_BITS); |
2936 | wsptr[DCTSIZE*1] = (int) RIGHT_SHIFT(tmp11 + tmp2, CONST_BITS-PASS1_BITS); | 2945 | wsptr[DCTSIZE*1] = (int) RIGHT_SHIFT(tmp11 + tmp2, CONST_BITS-PASS1_BITS); |
@@ -2939,7 +2948,7 @@ jpeg_idct_16x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
2939 | wsptr[DCTSIZE*5] = (int) RIGHT_SHIFT(tmp12 - tmp1, CONST_BITS-PASS1_BITS); | 2948 | wsptr[DCTSIZE*5] = (int) RIGHT_SHIFT(tmp12 - tmp1, CONST_BITS-PASS1_BITS); |
2940 | wsptr[DCTSIZE*3] = (int) RIGHT_SHIFT(tmp13 + tmp0, CONST_BITS-PASS1_BITS); | 2949 | wsptr[DCTSIZE*3] = (int) RIGHT_SHIFT(tmp13 + tmp0, CONST_BITS-PASS1_BITS); |
2941 | wsptr[DCTSIZE*4] = (int) RIGHT_SHIFT(tmp13 - tmp0, CONST_BITS-PASS1_BITS); | 2950 | wsptr[DCTSIZE*4] = (int) RIGHT_SHIFT(tmp13 - tmp0, CONST_BITS-PASS1_BITS); |
2942 | 2951 | ||
2943 | inptr++; /* advance pointers to next column */ | 2952 | inptr++; /* advance pointers to next column */ |
2944 | quantptr++; | 2953 | quantptr++; |
2945 | wsptr++; | 2954 | wsptr++; |
@@ -2948,6 +2957,7 @@ jpeg_idct_16x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
2948 | /* Pass 2: process 8 rows from work array, store into output array. | 2957 | /* Pass 2: process 8 rows from work array, store into output array. |
2949 | * 16-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/32). | 2958 | * 16-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/32). |
2950 | */ | 2959 | */ |
2960 | |||
2951 | wsptr = workspace; | 2961 | wsptr = workspace; |
2952 | for (ctr = 0; ctr < 8; ctr++) { | 2962 | for (ctr = 0; ctr < 8; ctr++) { |
2953 | outptr = output_buf[ctr] + output_col; | 2963 | outptr = output_buf[ctr] + output_col; |
@@ -3109,6 +3119,7 @@ jpeg_idct_14x7 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3109 | /* Pass 1: process columns from input, store into work array. | 3119 | /* Pass 1: process columns from input, store into work array. |
3110 | * 7-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/14). | 3120 | * 7-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/14). |
3111 | */ | 3121 | */ |
3122 | |||
3112 | inptr = coef_block; | 3123 | inptr = coef_block; |
3113 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 3124 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
3114 | wsptr = workspace; | 3125 | wsptr = workspace; |
@@ -3164,6 +3175,7 @@ jpeg_idct_14x7 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3164 | /* Pass 2: process 7 rows from work array, store into output array. | 3175 | /* Pass 2: process 7 rows from work array, store into output array. |
3165 | * 14-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/28). | 3176 | * 14-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/28). |
3166 | */ | 3177 | */ |
3178 | |||
3167 | wsptr = workspace; | 3179 | wsptr = workspace; |
3168 | for (ctr = 0; ctr < 7; ctr++) { | 3180 | for (ctr = 0; ctr < 7; ctr++) { |
3169 | outptr = output_buf[ctr] + output_col; | 3181 | outptr = output_buf[ctr] + output_col; |
@@ -3304,6 +3316,7 @@ jpeg_idct_12x6 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3304 | /* Pass 1: process columns from input, store into work array. | 3316 | /* Pass 1: process columns from input, store into work array. |
3305 | * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). | 3317 | * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). |
3306 | */ | 3318 | */ |
3319 | |||
3307 | inptr = coef_block; | 3320 | inptr = coef_block; |
3308 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 3321 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
3309 | wsptr = workspace; | 3322 | wsptr = workspace; |
@@ -3346,6 +3359,7 @@ jpeg_idct_12x6 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3346 | /* Pass 2: process 6 rows from work array, store into output array. | 3359 | /* Pass 2: process 6 rows from work array, store into output array. |
3347 | * 12-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/24). | 3360 | * 12-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/24). |
3348 | */ | 3361 | */ |
3362 | |||
3349 | wsptr = workspace; | 3363 | wsptr = workspace; |
3350 | for (ctr = 0; ctr < 6; ctr++) { | 3364 | for (ctr = 0; ctr < 6; ctr++) { |
3351 | outptr = output_buf[ctr] + output_col; | 3365 | outptr = output_buf[ctr] + output_col; |
@@ -3480,6 +3494,7 @@ jpeg_idct_10x5 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3480 | /* Pass 1: process columns from input, store into work array. | 3494 | /* Pass 1: process columns from input, store into work array. |
3481 | * 5-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/10). | 3495 | * 5-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/10). |
3482 | */ | 3496 | */ |
3497 | |||
3483 | inptr = coef_block; | 3498 | inptr = coef_block; |
3484 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 3499 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
3485 | wsptr = workspace; | 3500 | wsptr = workspace; |
@@ -3520,6 +3535,7 @@ jpeg_idct_10x5 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3520 | /* Pass 2: process 5 rows from work array, store into output array. | 3535 | /* Pass 2: process 5 rows from work array, store into output array. |
3521 | * 10-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/20). | 3536 | * 10-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/20). |
3522 | */ | 3537 | */ |
3538 | |||
3523 | wsptr = workspace; | 3539 | wsptr = workspace; |
3524 | for (ctr = 0; ctr < 5; ctr++) { | 3540 | for (ctr = 0; ctr < 5; ctr++) { |
3525 | outptr = output_buf[ctr] + output_col; | 3541 | outptr = output_buf[ctr] + output_col; |
@@ -3639,8 +3655,10 @@ jpeg_idct_8x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3639 | SHIFT_TEMPS | 3655 | SHIFT_TEMPS |
3640 | 3656 | ||
3641 | /* Pass 1: process columns from input, store into work array. | 3657 | /* Pass 1: process columns from input, store into work array. |
3642 | * 4-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | 3658 | * 4-point IDCT kernel, |
3659 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point IDCT]. | ||
3643 | */ | 3660 | */ |
3661 | |||
3644 | inptr = coef_block; | 3662 | inptr = coef_block; |
3645 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 3663 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
3646 | wsptr = workspace; | 3664 | wsptr = workspace; |
@@ -3675,31 +3693,34 @@ jpeg_idct_8x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3675 | wsptr[8*2] = (int) (tmp12 - tmp2); | 3693 | wsptr[8*2] = (int) (tmp12 - tmp2); |
3676 | } | 3694 | } |
3677 | 3695 | ||
3678 | /* Pass 2: process rows from work array, store into output array. */ | 3696 | /* Pass 2: process rows from work array, store into output array. |
3679 | /* Note that we must descale the results by a factor of 8 == 2**3, */ | 3697 | * Note that we must descale the results by a factor of 8 == 2**3, |
3680 | /* and also undo the PASS1_BITS scaling. */ | 3698 | * and also undo the PASS1_BITS scaling. |
3699 | * 8-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
3700 | */ | ||
3681 | 3701 | ||
3682 | wsptr = workspace; | 3702 | wsptr = workspace; |
3683 | for (ctr = 0; ctr < 4; ctr++) { | 3703 | for (ctr = 0; ctr < 4; ctr++) { |
3684 | outptr = output_buf[ctr] + output_col; | 3704 | outptr = output_buf[ctr] + output_col; |
3685 | 3705 | ||
3686 | /* Even part: reverse the even part of the forward DCT. */ | 3706 | /* Even part: reverse the even part of the forward DCT. |
3687 | /* The rotator is sqrt(2)*c(-6). */ | 3707 | * The rotator is c(-6). |
3708 | */ | ||
3688 | 3709 | ||
3689 | z2 = (INT32) wsptr[2]; | 3710 | z2 = (INT32) wsptr[2]; |
3690 | z3 = (INT32) wsptr[6]; | 3711 | z3 = (INT32) wsptr[6]; |
3691 | 3712 | ||
3692 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); | 3713 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ |
3693 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); | 3714 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ |
3694 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); | 3715 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ |
3695 | 3716 | ||
3696 | /* Add fudge factor here for final descale. */ | 3717 | /* Add fudge factor here for final descale. */ |
3697 | z2 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); | 3718 | z2 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); |
3698 | z3 = (INT32) wsptr[4]; | 3719 | z3 = (INT32) wsptr[4]; |
3699 | 3720 | ||
3700 | tmp0 = (z2 + z3) << CONST_BITS; | 3721 | tmp0 = (z2 + z3) << CONST_BITS; |
3701 | tmp1 = (z2 - z3) << CONST_BITS; | 3722 | tmp1 = (z2 - z3) << CONST_BITS; |
3702 | 3723 | ||
3703 | tmp10 = tmp0 + tmp2; | 3724 | tmp10 = tmp0 + tmp2; |
3704 | tmp13 = tmp0 - tmp2; | 3725 | tmp13 = tmp0 - tmp2; |
3705 | tmp11 = tmp1 + tmp3; | 3726 | tmp11 = tmp1 + tmp3; |
@@ -3717,21 +3738,21 @@ jpeg_idct_8x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3717 | z2 = tmp0 + tmp2; | 3738 | z2 = tmp0 + tmp2; |
3718 | z3 = tmp1 + tmp3; | 3739 | z3 = tmp1 + tmp3; |
3719 | 3740 | ||
3720 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ | 3741 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* c3 */ |
3721 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ | 3742 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* -c3-c5 */ |
3722 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ | 3743 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* -c3+c5 */ |
3723 | z2 += z1; | 3744 | z2 += z1; |
3724 | z3 += z1; | 3745 | z3 += z1; |
3725 | 3746 | ||
3726 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ | 3747 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
3727 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ | 3748 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
3728 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ | 3749 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* c1+c3-c5-c7 */ |
3729 | tmp0 += z1 + z2; | 3750 | tmp0 += z1 + z2; |
3730 | tmp3 += z1 + z3; | 3751 | tmp3 += z1 + z3; |
3731 | 3752 | ||
3732 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | 3753 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
3733 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ | 3754 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* c1+c3-c5+c7 */ |
3734 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ | 3755 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* c1+c3+c5-c7 */ |
3735 | tmp1 += z1 + z3; | 3756 | tmp1 += z1 + z3; |
3736 | tmp2 += z1 + z2; | 3757 | tmp2 += z1 + z2; |
3737 | 3758 | ||
@@ -3793,6 +3814,7 @@ jpeg_idct_6x3 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3793 | /* Pass 1: process columns from input, store into work array. | 3814 | /* Pass 1: process columns from input, store into work array. |
3794 | * 3-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/6). | 3815 | * 3-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/6). |
3795 | */ | 3816 | */ |
3817 | |||
3796 | inptr = coef_block; | 3818 | inptr = coef_block; |
3797 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 3819 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
3798 | wsptr = workspace; | 3820 | wsptr = workspace; |
@@ -3823,6 +3845,7 @@ jpeg_idct_6x3 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3823 | /* Pass 2: process 3 rows from work array, store into output array. | 3845 | /* Pass 2: process 3 rows from work array, store into output array. |
3824 | * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). | 3846 | * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). |
3825 | */ | 3847 | */ |
3848 | |||
3826 | wsptr = workspace; | 3849 | wsptr = workspace; |
3827 | for (ctr = 0; ctr < 3; ctr++) { | 3850 | for (ctr = 0; ctr < 3; ctr++) { |
3828 | outptr = output_buf[ctr] + output_col; | 3851 | outptr = output_buf[ctr] + output_col; |
@@ -3924,6 +3947,7 @@ jpeg_idct_4x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3924 | * 4-point IDCT kernel, | 3947 | * 4-point IDCT kernel, |
3925 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point IDCT]. | 3948 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point IDCT]. |
3926 | */ | 3949 | */ |
3950 | |||
3927 | wsptr = workspace; | 3951 | wsptr = workspace; |
3928 | for (ctr = 0; ctr < 2; ctr++) { | 3952 | for (ctr = 0; ctr < 2; ctr++) { |
3929 | outptr = output_buf[ctr] + output_col; | 3953 | outptr = output_buf[ctr] + output_col; |
@@ -3979,7 +4003,7 @@ jpeg_idct_2x1 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3979 | JCOEFPTR coef_block, | 4003 | JCOEFPTR coef_block, |
3980 | JSAMPARRAY output_buf, JDIMENSION output_col) | 4004 | JSAMPARRAY output_buf, JDIMENSION output_col) |
3981 | { | 4005 | { |
3982 | INT32 tmp0, tmp10; | 4006 | INT32 tmp0, tmp1; |
3983 | ISLOW_MULT_TYPE * quantptr; | 4007 | ISLOW_MULT_TYPE * quantptr; |
3984 | JSAMPROW outptr; | 4008 | JSAMPROW outptr; |
3985 | JSAMPLE *range_limit = IDCT_range_limit(cinfo); | 4009 | JSAMPLE *range_limit = IDCT_range_limit(cinfo); |
@@ -3994,18 +4018,18 @@ jpeg_idct_2x1 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
3994 | 4018 | ||
3995 | /* Even part */ | 4019 | /* Even part */ |
3996 | 4020 | ||
3997 | tmp10 = DEQUANTIZE(coef_block[0], quantptr[0]); | 4021 | tmp0 = DEQUANTIZE(coef_block[0], quantptr[0]); |
3998 | /* Add fudge factor here for final descale. */ | 4022 | /* Add fudge factor here for final descale. */ |
3999 | tmp10 += ONE << 2; | 4023 | tmp0 += ONE << 2; |
4000 | 4024 | ||
4001 | /* Odd part */ | 4025 | /* Odd part */ |
4002 | 4026 | ||
4003 | tmp0 = DEQUANTIZE(coef_block[1], quantptr[1]); | 4027 | tmp1 = DEQUANTIZE(coef_block[1], quantptr[1]); |
4004 | 4028 | ||
4005 | /* Final output stage */ | 4029 | /* Final output stage */ |
4006 | 4030 | ||
4007 | outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, 3) & RANGE_MASK]; | 4031 | outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp0 + tmp1, 3) & RANGE_MASK]; |
4008 | outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, 3) & RANGE_MASK]; | 4032 | outptr[1] = range_limit[(int) RIGHT_SHIFT(tmp0 - tmp1, 3) & RANGE_MASK]; |
4009 | } | 4033 | } |
4010 | 4034 | ||
4011 | 4035 | ||
@@ -4036,6 +4060,7 @@ jpeg_idct_8x16 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4036 | /* Pass 1: process columns from input, store into work array. | 4060 | /* Pass 1: process columns from input, store into work array. |
4037 | * 16-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/32). | 4061 | * 16-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/32). |
4038 | */ | 4062 | */ |
4063 | |||
4039 | inptr = coef_block; | 4064 | inptr = coef_block; |
4040 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 4065 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
4041 | wsptr = workspace; | 4066 | wsptr = workspace; |
@@ -4134,69 +4159,72 @@ jpeg_idct_8x16 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4134 | wsptr[8*7] = (int) RIGHT_SHIFT(tmp27 + tmp13, CONST_BITS-PASS1_BITS); | 4159 | wsptr[8*7] = (int) RIGHT_SHIFT(tmp27 + tmp13, CONST_BITS-PASS1_BITS); |
4135 | wsptr[8*8] = (int) RIGHT_SHIFT(tmp27 - tmp13, CONST_BITS-PASS1_BITS); | 4160 | wsptr[8*8] = (int) RIGHT_SHIFT(tmp27 - tmp13, CONST_BITS-PASS1_BITS); |
4136 | } | 4161 | } |
4137 | 4162 | ||
4138 | /* Pass 2: process rows from work array, store into output array. */ | 4163 | /* Pass 2: process rows from work array, store into output array. |
4139 | /* Note that we must descale the results by a factor of 8 == 2**3, */ | 4164 | * Note that we must descale the results by a factor of 8 == 2**3, |
4140 | /* and also undo the PASS1_BITS scaling. */ | 4165 | * and also undo the PASS1_BITS scaling. |
4166 | * 8-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
4167 | */ | ||
4141 | 4168 | ||
4142 | wsptr = workspace; | 4169 | wsptr = workspace; |
4143 | for (ctr = 0; ctr < 16; ctr++) { | 4170 | for (ctr = 0; ctr < 16; ctr++) { |
4144 | outptr = output_buf[ctr] + output_col; | 4171 | outptr = output_buf[ctr] + output_col; |
4145 | 4172 | ||
4146 | /* Even part: reverse the even part of the forward DCT. */ | 4173 | /* Even part: reverse the even part of the forward DCT. |
4147 | /* The rotator is sqrt(2)*c(-6). */ | 4174 | * The rotator is c(-6). |
4148 | 4175 | */ | |
4176 | |||
4149 | z2 = (INT32) wsptr[2]; | 4177 | z2 = (INT32) wsptr[2]; |
4150 | z3 = (INT32) wsptr[6]; | 4178 | z3 = (INT32) wsptr[6]; |
4151 | 4179 | ||
4152 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); | 4180 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ |
4153 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); | 4181 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ |
4154 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); | 4182 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ |
4155 | 4183 | ||
4156 | /* Add fudge factor here for final descale. */ | 4184 | /* Add fudge factor here for final descale. */ |
4157 | z2 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); | 4185 | z2 = (INT32) wsptr[0] + (ONE << (PASS1_BITS+2)); |
4158 | z3 = (INT32) wsptr[4]; | 4186 | z3 = (INT32) wsptr[4]; |
4159 | 4187 | ||
4160 | tmp0 = (z2 + z3) << CONST_BITS; | 4188 | tmp0 = (z2 + z3) << CONST_BITS; |
4161 | tmp1 = (z2 - z3) << CONST_BITS; | 4189 | tmp1 = (z2 - z3) << CONST_BITS; |
4162 | 4190 | ||
4163 | tmp10 = tmp0 + tmp2; | 4191 | tmp10 = tmp0 + tmp2; |
4164 | tmp13 = tmp0 - tmp2; | 4192 | tmp13 = tmp0 - tmp2; |
4165 | tmp11 = tmp1 + tmp3; | 4193 | tmp11 = tmp1 + tmp3; |
4166 | tmp12 = tmp1 - tmp3; | 4194 | tmp12 = tmp1 - tmp3; |
4167 | 4195 | ||
4168 | /* Odd part per figure 8; the matrix is unitary and hence its | 4196 | /* Odd part per figure 8; the matrix is unitary and hence its |
4169 | * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. | 4197 | * transpose is its inverse. i0..i3 are y7,y5,y3,y1 respectively. |
4170 | */ | 4198 | */ |
4171 | 4199 | ||
4172 | tmp0 = (INT32) wsptr[7]; | 4200 | tmp0 = (INT32) wsptr[7]; |
4173 | tmp1 = (INT32) wsptr[5]; | 4201 | tmp1 = (INT32) wsptr[5]; |
4174 | tmp2 = (INT32) wsptr[3]; | 4202 | tmp2 = (INT32) wsptr[3]; |
4175 | tmp3 = (INT32) wsptr[1]; | 4203 | tmp3 = (INT32) wsptr[1]; |
4176 | 4204 | ||
4177 | z2 = tmp0 + tmp2; | 4205 | z2 = tmp0 + tmp2; |
4178 | z3 = tmp1 + tmp3; | 4206 | z3 = tmp1 + tmp3; |
4179 | 4207 | ||
4180 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ | 4208 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* c3 */ |
4181 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ | 4209 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* -c3-c5 */ |
4182 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ | 4210 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* -c3+c5 */ |
4183 | z2 += z1; | 4211 | z2 += z1; |
4184 | z3 += z1; | 4212 | z3 += z1; |
4185 | 4213 | ||
4186 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ | 4214 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
4187 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ | 4215 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
4188 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ | 4216 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* c1+c3-c5-c7 */ |
4189 | tmp0 += z1 + z2; | 4217 | tmp0 += z1 + z2; |
4190 | tmp3 += z1 + z3; | 4218 | tmp3 += z1 + z3; |
4191 | 4219 | ||
4192 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | 4220 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
4193 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ | 4221 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* c1+c3-c5+c7 */ |
4194 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ | 4222 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* c1+c3+c5-c7 */ |
4195 | tmp1 += z1 + z3; | 4223 | tmp1 += z1 + z3; |
4196 | tmp2 += z1 + z2; | 4224 | tmp2 += z1 + z2; |
4197 | 4225 | ||
4198 | /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ | 4226 | /* Final output stage: inputs are tmp10..tmp13, tmp0..tmp3 */ |
4199 | 4227 | ||
4200 | outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp3, | 4228 | outptr[0] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp3, |
4201 | CONST_BITS+PASS1_BITS+3) | 4229 | CONST_BITS+PASS1_BITS+3) |
4202 | & RANGE_MASK]; | 4230 | & RANGE_MASK]; |
@@ -4221,7 +4249,7 @@ jpeg_idct_8x16 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4221 | outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp13 - tmp0, | 4249 | outptr[4] = range_limit[(int) RIGHT_SHIFT(tmp13 - tmp0, |
4222 | CONST_BITS+PASS1_BITS+3) | 4250 | CONST_BITS+PASS1_BITS+3) |
4223 | & RANGE_MASK]; | 4251 | & RANGE_MASK]; |
4224 | 4252 | ||
4225 | wsptr += DCTSIZE; /* advance pointer to next row */ | 4253 | wsptr += DCTSIZE; /* advance pointer to next row */ |
4226 | } | 4254 | } |
4227 | } | 4255 | } |
@@ -4254,6 +4282,7 @@ jpeg_idct_7x14 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4254 | /* Pass 1: process columns from input, store into work array. | 4282 | /* Pass 1: process columns from input, store into work array. |
4255 | * 14-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/28). | 4283 | * 14-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/28). |
4256 | */ | 4284 | */ |
4285 | |||
4257 | inptr = coef_block; | 4286 | inptr = coef_block; |
4258 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 4287 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
4259 | wsptr = workspace; | 4288 | wsptr = workspace; |
@@ -4341,6 +4370,7 @@ jpeg_idct_7x14 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4341 | /* Pass 2: process 14 rows from work array, store into output array. | 4370 | /* Pass 2: process 14 rows from work array, store into output array. |
4342 | * 7-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/14). | 4371 | * 7-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/14). |
4343 | */ | 4372 | */ |
4373 | |||
4344 | wsptr = workspace; | 4374 | wsptr = workspace; |
4345 | for (ctr = 0; ctr < 14; ctr++) { | 4375 | for (ctr = 0; ctr < 14; ctr++) { |
4346 | outptr = output_buf[ctr] + output_col; | 4376 | outptr = output_buf[ctr] + output_col; |
@@ -4437,6 +4467,7 @@ jpeg_idct_6x12 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4437 | /* Pass 1: process columns from input, store into work array. | 4467 | /* Pass 1: process columns from input, store into work array. |
4438 | * 12-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/24). | 4468 | * 12-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/24). |
4439 | */ | 4469 | */ |
4470 | |||
4440 | inptr = coef_block; | 4471 | inptr = coef_block; |
4441 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 4472 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
4442 | wsptr = workspace; | 4473 | wsptr = workspace; |
@@ -4520,6 +4551,7 @@ jpeg_idct_6x12 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4520 | /* Pass 2: process 12 rows from work array, store into output array. | 4551 | /* Pass 2: process 12 rows from work array, store into output array. |
4521 | * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). | 4552 | * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). |
4522 | */ | 4553 | */ |
4554 | |||
4523 | wsptr = workspace; | 4555 | wsptr = workspace; |
4524 | for (ctr = 0; ctr < 12; ctr++) { | 4556 | for (ctr = 0; ctr < 12; ctr++) { |
4525 | outptr = output_buf[ctr] + output_col; | 4557 | outptr = output_buf[ctr] + output_col; |
@@ -4601,6 +4633,7 @@ jpeg_idct_5x10 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4601 | /* Pass 1: process columns from input, store into work array. | 4633 | /* Pass 1: process columns from input, store into work array. |
4602 | * 10-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/20). | 4634 | * 10-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/20). |
4603 | */ | 4635 | */ |
4636 | |||
4604 | inptr = coef_block; | 4637 | inptr = coef_block; |
4605 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 4638 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
4606 | wsptr = workspace; | 4639 | wsptr = workspace; |
@@ -4676,6 +4709,7 @@ jpeg_idct_5x10 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4676 | /* Pass 2: process 10 rows from work array, store into output array. | 4709 | /* Pass 2: process 10 rows from work array, store into output array. |
4677 | * 5-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/10). | 4710 | * 5-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/10). |
4678 | */ | 4711 | */ |
4712 | |||
4679 | wsptr = workspace; | 4713 | wsptr = workspace; |
4680 | for (ctr = 0; ctr < 10; ctr++) { | 4714 | for (ctr = 0; ctr < 10; ctr++) { |
4681 | outptr = output_buf[ctr] + output_col; | 4715 | outptr = output_buf[ctr] + output_col; |
@@ -4750,9 +4784,11 @@ jpeg_idct_4x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4750 | int workspace[4*8]; /* buffers data between passes */ | 4784 | int workspace[4*8]; /* buffers data between passes */ |
4751 | SHIFT_TEMPS | 4785 | SHIFT_TEMPS |
4752 | 4786 | ||
4753 | /* Pass 1: process columns from input, store into work array. */ | 4787 | /* Pass 1: process columns from input, store into work array. |
4754 | /* Note results are scaled up by sqrt(8) compared to a true IDCT; */ | 4788 | * Note results are scaled up by sqrt(8) compared to a true IDCT; |
4755 | /* furthermore, we scale the results by 2**PASS1_BITS. */ | 4789 | * furthermore, we scale the results by 2**PASS1_BITS. |
4790 | * 8-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | ||
4791 | */ | ||
4756 | 4792 | ||
4757 | inptr = coef_block; | 4793 | inptr = coef_block; |
4758 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 4794 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
@@ -4789,16 +4825,17 @@ jpeg_idct_4x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4789 | continue; | 4825 | continue; |
4790 | } | 4826 | } |
4791 | 4827 | ||
4792 | /* Even part: reverse the even part of the forward DCT. */ | 4828 | /* Even part: reverse the even part of the forward DCT. |
4793 | /* The rotator is sqrt(2)*c(-6). */ | 4829 | * The rotator is c(-6). |
4830 | */ | ||
4794 | 4831 | ||
4795 | z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); | 4832 | z2 = DEQUANTIZE(inptr[DCTSIZE*2], quantptr[DCTSIZE*2]); |
4796 | z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); | 4833 | z3 = DEQUANTIZE(inptr[DCTSIZE*6], quantptr[DCTSIZE*6]); |
4797 | 4834 | ||
4798 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); | 4835 | z1 = MULTIPLY(z2 + z3, FIX_0_541196100); /* c6 */ |
4799 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); | 4836 | tmp2 = z1 + MULTIPLY(z2, FIX_0_765366865); /* c2-c6 */ |
4800 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); | 4837 | tmp3 = z1 - MULTIPLY(z3, FIX_1_847759065); /* c2+c6 */ |
4801 | 4838 | ||
4802 | z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); | 4839 | z2 = DEQUANTIZE(inptr[DCTSIZE*0], quantptr[DCTSIZE*0]); |
4803 | z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); | 4840 | z3 = DEQUANTIZE(inptr[DCTSIZE*4], quantptr[DCTSIZE*4]); |
4804 | z2 <<= CONST_BITS; | 4841 | z2 <<= CONST_BITS; |
@@ -4808,7 +4845,7 @@ jpeg_idct_4x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4808 | 4845 | ||
4809 | tmp0 = z2 + z3; | 4846 | tmp0 = z2 + z3; |
4810 | tmp1 = z2 - z3; | 4847 | tmp1 = z2 - z3; |
4811 | 4848 | ||
4812 | tmp10 = tmp0 + tmp2; | 4849 | tmp10 = tmp0 + tmp2; |
4813 | tmp13 = tmp0 - tmp2; | 4850 | tmp13 = tmp0 - tmp2; |
4814 | tmp11 = tmp1 + tmp3; | 4851 | tmp11 = tmp1 + tmp3; |
@@ -4826,21 +4863,21 @@ jpeg_idct_4x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4826 | z2 = tmp0 + tmp2; | 4863 | z2 = tmp0 + tmp2; |
4827 | z3 = tmp1 + tmp3; | 4864 | z3 = tmp1 + tmp3; |
4828 | 4865 | ||
4829 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* sqrt(2) * c3 */ | 4866 | z1 = MULTIPLY(z2 + z3, FIX_1_175875602); /* c3 */ |
4830 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* sqrt(2) * (-c3-c5) */ | 4867 | z2 = MULTIPLY(z2, - FIX_1_961570560); /* -c3-c5 */ |
4831 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* sqrt(2) * (c5-c3) */ | 4868 | z3 = MULTIPLY(z3, - FIX_0_390180644); /* -c3+c5 */ |
4832 | z2 += z1; | 4869 | z2 += z1; |
4833 | z3 += z1; | 4870 | z3 += z1; |
4834 | 4871 | ||
4835 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* sqrt(2) * (c7-c3) */ | 4872 | z1 = MULTIPLY(tmp0 + tmp3, - FIX_0_899976223); /* -c3+c7 */ |
4836 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* sqrt(2) * (-c1+c3+c5-c7) */ | 4873 | tmp0 = MULTIPLY(tmp0, FIX_0_298631336); /* -c1+c3+c5-c7 */ |
4837 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* sqrt(2) * ( c1+c3-c5-c7) */ | 4874 | tmp3 = MULTIPLY(tmp3, FIX_1_501321110); /* c1+c3-c5-c7 */ |
4838 | tmp0 += z1 + z2; | 4875 | tmp0 += z1 + z2; |
4839 | tmp3 += z1 + z3; | 4876 | tmp3 += z1 + z3; |
4840 | 4877 | ||
4841 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* sqrt(2) * (-c1-c3) */ | 4878 | z1 = MULTIPLY(tmp1 + tmp2, - FIX_2_562915447); /* -c1-c3 */ |
4842 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* sqrt(2) * ( c1+c3-c5+c7) */ | 4879 | tmp1 = MULTIPLY(tmp1, FIX_2_053119869); /* c1+c3-c5+c7 */ |
4843 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* sqrt(2) * ( c1+c3+c5-c7) */ | 4880 | tmp2 = MULTIPLY(tmp2, FIX_3_072711026); /* c1+c3+c5-c7 */ |
4844 | tmp1 += z1 + z3; | 4881 | tmp1 += z1 + z3; |
4845 | tmp2 += z1 + z2; | 4882 | tmp2 += z1 + z2; |
4846 | 4883 | ||
@@ -4861,8 +4898,10 @@ jpeg_idct_4x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4861 | } | 4898 | } |
4862 | 4899 | ||
4863 | /* Pass 2: process 8 rows from work array, store into output array. | 4900 | /* Pass 2: process 8 rows from work array, store into output array. |
4864 | * 4-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/16). | 4901 | * 4-point IDCT kernel, |
4902 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point IDCT]. | ||
4865 | */ | 4903 | */ |
4904 | |||
4866 | wsptr = workspace; | 4905 | wsptr = workspace; |
4867 | for (ctr = 0; ctr < 8; ctr++) { | 4906 | for (ctr = 0; ctr < 8; ctr++) { |
4868 | outptr = output_buf[ctr] + output_col; | 4907 | outptr = output_buf[ctr] + output_col; |
@@ -4900,7 +4939,7 @@ jpeg_idct_4x8 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4900 | outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp2, | 4939 | outptr[2] = range_limit[(int) RIGHT_SHIFT(tmp12 - tmp2, |
4901 | CONST_BITS+PASS1_BITS+3) | 4940 | CONST_BITS+PASS1_BITS+3) |
4902 | & RANGE_MASK]; | 4941 | & RANGE_MASK]; |
4903 | 4942 | ||
4904 | wsptr += 4; /* advance pointer to next row */ | 4943 | wsptr += 4; /* advance pointer to next row */ |
4905 | } | 4944 | } |
4906 | } | 4945 | } |
@@ -4932,6 +4971,7 @@ jpeg_idct_3x6 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4932 | /* Pass 1: process columns from input, store into work array. | 4971 | /* Pass 1: process columns from input, store into work array. |
4933 | * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). | 4972 | * 6-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/12). |
4934 | */ | 4973 | */ |
4974 | |||
4935 | inptr = coef_block; | 4975 | inptr = coef_block; |
4936 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 4976 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
4937 | wsptr = workspace; | 4977 | wsptr = workspace; |
@@ -4974,6 +5014,7 @@ jpeg_idct_3x6 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
4974 | /* Pass 2: process 6 rows from work array, store into output array. | 5014 | /* Pass 2: process 6 rows from work array, store into output array. |
4975 | * 3-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/6). | 5015 | * 3-point IDCT kernel, cK represents sqrt(2) * cos(K*pi/6). |
4976 | */ | 5016 | */ |
5017 | |||
4977 | wsptr = workspace; | 5018 | wsptr = workspace; |
4978 | for (ctr = 0; ctr < 6; ctr++) { | 5019 | for (ctr = 0; ctr < 6; ctr++) { |
4979 | outptr = output_buf[ctr] + output_col; | 5020 | outptr = output_buf[ctr] + output_col; |
@@ -5037,6 +5078,7 @@ jpeg_idct_2x4 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
5037 | * 4-point IDCT kernel, | 5078 | * 4-point IDCT kernel, |
5038 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point IDCT]. | 5079 | * cK represents sqrt(2) * cos(K*pi/16) [refers to 8-point IDCT]. |
5039 | */ | 5080 | */ |
5081 | |||
5040 | inptr = coef_block; | 5082 | inptr = coef_block; |
5041 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; | 5083 | quantptr = (ISLOW_MULT_TYPE *) compptr->dct_table; |
5042 | wsptr = workspace; | 5084 | wsptr = workspace; |
@@ -5106,7 +5148,7 @@ jpeg_idct_1x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
5106 | JCOEFPTR coef_block, | 5148 | JCOEFPTR coef_block, |
5107 | JSAMPARRAY output_buf, JDIMENSION output_col) | 5149 | JSAMPARRAY output_buf, JDIMENSION output_col) |
5108 | { | 5150 | { |
5109 | INT32 tmp0, tmp10; | 5151 | INT32 tmp0, tmp1; |
5110 | ISLOW_MULT_TYPE * quantptr; | 5152 | ISLOW_MULT_TYPE * quantptr; |
5111 | JSAMPLE *range_limit = IDCT_range_limit(cinfo); | 5153 | JSAMPLE *range_limit = IDCT_range_limit(cinfo); |
5112 | SHIFT_TEMPS | 5154 | SHIFT_TEMPS |
@@ -5117,19 +5159,19 @@ jpeg_idct_1x2 (j_decompress_ptr cinfo, jpeg_component_info * compptr, | |||
5117 | 5159 | ||
5118 | /* Even part */ | 5160 | /* Even part */ |
5119 | 5161 | ||
5120 | tmp10 = DEQUANTIZE(coef_block[DCTSIZE*0], quantptr[DCTSIZE*0]); | 5162 | tmp0 = DEQUANTIZE(coef_block[DCTSIZE*0], quantptr[DCTSIZE*0]); |
5121 | /* Add fudge factor here for final descale. */ | 5163 | /* Add fudge factor here for final descale. */ |
5122 | tmp10 += ONE << 2; | 5164 | tmp0 += ONE << 2; |
5123 | 5165 | ||
5124 | /* Odd part */ | 5166 | /* Odd part */ |
5125 | 5167 | ||
5126 | tmp0 = DEQUANTIZE(coef_block[DCTSIZE*1], quantptr[DCTSIZE*1]); | 5168 | tmp1 = DEQUANTIZE(coef_block[DCTSIZE*1], quantptr[DCTSIZE*1]); |
5127 | 5169 | ||
5128 | /* Final output stage */ | 5170 | /* Final output stage */ |
5129 | 5171 | ||
5130 | output_buf[0][output_col] = range_limit[(int) RIGHT_SHIFT(tmp10 + tmp0, 3) | 5172 | output_buf[0][output_col] = range_limit[(int) RIGHT_SHIFT(tmp0 + tmp1, 3) |
5131 | & RANGE_MASK]; | 5173 | & RANGE_MASK]; |
5132 | output_buf[1][output_col] = range_limit[(int) RIGHT_SHIFT(tmp10 - tmp0, 3) | 5174 | output_buf[1][output_col] = range_limit[(int) RIGHT_SHIFT(tmp0 - tmp1, 3) |
5133 | & RANGE_MASK]; | 5175 | & RANGE_MASK]; |
5134 | } | 5176 | } |
5135 | 5177 | ||
diff --git a/gs/jpeg/jmemmgr.c b/gs/jpeg/jmemmgr.c index f0e83fb95..0a137cdde 100644 --- a/gs/jpeg/jmemmgr.c +++ b/gs/jpeg/jmemmgr.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * jmemmgr.c | 2 | * jmemmgr.c |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 2011 by Guido Vollbeding. | 5 | * Modified 2011-2012 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -214,7 +214,7 @@ print_mem_stats (j_common_ptr cinfo, int pool_id) | |||
214 | #endif /* MEM_STATS */ | 214 | #endif /* MEM_STATS */ |
215 | 215 | ||
216 | 216 | ||
217 | LOCAL(void) | 217 | LOCAL(noreturn_t) |
218 | out_of_memory (j_common_ptr cinfo, int which) | 218 | out_of_memory (j_common_ptr cinfo, int which) |
219 | /* Report an out-of-memory error and stop execution */ | 219 | /* Report an out-of-memory error and stop execution */ |
220 | /* If we compiled MEM_STATS support, report alloc requests before dying */ | 220 | /* If we compiled MEM_STATS support, report alloc requests before dying */ |
diff --git a/gs/jpeg/jmorecfg.h b/gs/jpeg/jmorecfg.h index 6c085c36a..679d68bdc 100644 --- a/gs/jpeg/jmorecfg.h +++ b/gs/jpeg/jmorecfg.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * jmorecfg.h | 2 | * jmorecfg.h |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 1997-2011 by Guido Vollbeding. | 5 | * Modified 1997-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -15,13 +15,22 @@ | |||
15 | /* | 15 | /* |
16 | * Define BITS_IN_JSAMPLE as either | 16 | * Define BITS_IN_JSAMPLE as either |
17 | * 8 for 8-bit sample values (the usual setting) | 17 | * 8 for 8-bit sample values (the usual setting) |
18 | * 9 for 9-bit sample values | ||
19 | * 10 for 10-bit sample values | ||
20 | * 11 for 11-bit sample values | ||
18 | * 12 for 12-bit sample values | 21 | * 12 for 12-bit sample values |
19 | * Only 8 and 12 are legal data precisions for lossy JPEG according to the | 22 | * Only 8, 9, 10, 11, and 12 bits sample data precision are supported for |
20 | * JPEG standard, and the IJG code does not support anything else! | 23 | * full-feature DCT processing. Further depths up to 16-bit may be added |
21 | * We do not support run-time selection of data precision, sorry. | 24 | * later for the lossless modes of operation. |
25 | * Run-time selection and conversion of data precision will be added later | ||
26 | * and are currently not supported, sorry. | ||
27 | * Exception: The transcoding part (jpegtran) supports all settings in a | ||
28 | * single instance, since it operates on the level of DCT coefficients and | ||
29 | * not sample values. The DCT coefficients are of the same type (16 bits) | ||
30 | * in all cases (see below). | ||
22 | */ | 31 | */ |
23 | 32 | ||
24 | #define BITS_IN_JSAMPLE 8 /* use 8 or 12 */ | 33 | #define BITS_IN_JSAMPLE 8 /* use 8, 9, 10, 11, or 12 */ |
25 | 34 | ||
26 | 35 | ||
27 | /* | 36 | /* |
@@ -77,6 +86,48 @@ typedef char JSAMPLE; | |||
77 | #endif /* BITS_IN_JSAMPLE == 8 */ | 86 | #endif /* BITS_IN_JSAMPLE == 8 */ |
78 | 87 | ||
79 | 88 | ||
89 | #if BITS_IN_JSAMPLE == 9 | ||
90 | /* JSAMPLE should be the smallest type that will hold the values 0..511. | ||
91 | * On nearly all machines "short" will do nicely. | ||
92 | */ | ||
93 | |||
94 | typedef short JSAMPLE; | ||
95 | #define GETJSAMPLE(value) ((int) (value)) | ||
96 | |||
97 | #define MAXJSAMPLE 511 | ||
98 | #define CENTERJSAMPLE 256 | ||
99 | |||
100 | #endif /* BITS_IN_JSAMPLE == 9 */ | ||
101 | |||
102 | |||
103 | #if BITS_IN_JSAMPLE == 10 | ||
104 | /* JSAMPLE should be the smallest type that will hold the values 0..1023. | ||
105 | * On nearly all machines "short" will do nicely. | ||
106 | */ | ||
107 | |||
108 | typedef short JSAMPLE; | ||
109 | #define GETJSAMPLE(value) ((int) (value)) | ||
110 | |||
111 | #define MAXJSAMPLE 1023 | ||
112 | #define CENTERJSAMPLE 512 | ||
113 | |||
114 | #endif /* BITS_IN_JSAMPLE == 10 */ | ||
115 | |||
116 | |||
117 | #if BITS_IN_JSAMPLE == 11 | ||
118 | /* JSAMPLE should be the smallest type that will hold the values 0..2047. | ||
119 | * On nearly all machines "short" will do nicely. | ||
120 | */ | ||
121 | |||
122 | typedef short JSAMPLE; | ||
123 | #define GETJSAMPLE(value) ((int) (value)) | ||
124 | |||
125 | #define MAXJSAMPLE 2047 | ||
126 | #define CENTERJSAMPLE 1024 | ||
127 | |||
128 | #endif /* BITS_IN_JSAMPLE == 11 */ | ||
129 | |||
130 | |||
80 | #if BITS_IN_JSAMPLE == 12 | 131 | #if BITS_IN_JSAMPLE == 12 |
81 | /* JSAMPLE should be the smallest type that will hold the values 0..4095. | 132 | /* JSAMPLE should be the smallest type that will hold the values 0..4095. |
82 | * On nearly all machines "short" will do nicely. | 133 | * On nearly all machines "short" will do nicely. |
@@ -210,6 +261,26 @@ typedef unsigned int JDIMENSION; | |||
210 | #endif | 261 | #endif |
211 | 262 | ||
212 | 263 | ||
264 | /* The noreturn type identifier is used to declare functions | ||
265 | * which cannot return. | ||
266 | * Compilers can thus create more optimized code and perform | ||
267 | * better checks for warnings and errors. | ||
268 | * Static analyzer tools can make improved inferences about | ||
269 | * execution paths and are prevented from giving false alerts. | ||
270 | * | ||
271 | * Unfortunately, the proposed specifications of corresponding | ||
272 | * extensions in the Dec 2011 ISO C standard revision (C11), | ||
273 | * GCC, MSVC, etc. are not viable. | ||
274 | * Thus we introduce a user defined type to declare noreturn | ||
275 | * functions at least for clarity. A proper compiler would | ||
276 | * have a suitable noreturn type to match in place of void. | ||
277 | */ | ||
278 | |||
279 | #ifndef HAVE_NORETURN_T | ||
280 | typedef void noreturn_t; | ||
281 | #endif | ||
282 | |||
283 | |||
213 | /* Here is the pseudo-keyword for declaring pointers that must be "far" | 284 | /* Here is the pseudo-keyword for declaring pointers that must be "far" |
214 | * on 80x86 machines. Most of the specialized coding for 80x86 is handled | 285 | * on 80x86 machines. Most of the specialized coding for 80x86 is handled |
215 | * by just saying "FAR *" where such a pointer is needed. In a few places | 286 | * by just saying "FAR *" where such a pointer is needed. In a few places |
@@ -233,14 +304,19 @@ typedef unsigned int JDIMENSION; | |||
233 | */ | 304 | */ |
234 | 305 | ||
235 | #ifndef HAVE_BOOLEAN | 306 | #ifndef HAVE_BOOLEAN |
307 | #if defined FALSE || defined TRUE || defined QGLOBAL_H | ||
308 | /* Qt3 defines FALSE and TRUE as "const" variables in qglobal.h */ | ||
236 | typedef int boolean; | 309 | typedef int boolean; |
237 | #endif | ||
238 | #ifndef FALSE /* in case these macros already exist */ | 310 | #ifndef FALSE /* in case these macros already exist */ |
239 | #define FALSE 0 /* values of boolean */ | 311 | #define FALSE 0 /* values of boolean */ |
240 | #endif | 312 | #endif |
241 | #ifndef TRUE | 313 | #ifndef TRUE |
242 | #define TRUE 1 | 314 | #define TRUE 1 |
243 | #endif | 315 | #endif |
316 | #else | ||
317 | typedef enum { FALSE = 0, TRUE = 1 } boolean; | ||
318 | #endif | ||
319 | #endif | ||
244 | 320 | ||
245 | 321 | ||
246 | /* | 322 | /* |
@@ -278,11 +354,12 @@ typedef int boolean; | |||
278 | #define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ | 354 | #define C_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ |
279 | #define DCT_SCALING_SUPPORTED /* Input rescaling via DCT? (Requires DCT_ISLOW)*/ | 355 | #define DCT_SCALING_SUPPORTED /* Input rescaling via DCT? (Requires DCT_ISLOW)*/ |
280 | #define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ | 356 | #define ENTROPY_OPT_SUPPORTED /* Optimization of entropy coding parms? */ |
281 | /* Note: if you selected 12-bit data precision, it is dangerous to turn off | 357 | /* Note: if you selected more than 8-bit data precision, it is dangerous to |
282 | * ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only good for 8-bit | 358 | * turn off ENTROPY_OPT_SUPPORTED. The standard Huffman tables are only |
283 | * precision, so jchuff.c normally uses entropy optimization to compute | 359 | * good for 8-bit precision, so arithmetic coding is recommended for higher |
284 | * usable tables for higher precision. If you don't want to do optimization, | 360 | * precision. The Huffman encoder normally uses entropy optimization to |
285 | * you'll have to supply different default Huffman tables. | 361 | * compute usable tables for higher precision. Otherwise, you'll have to |
362 | * supply different default Huffman tables. | ||
286 | * The exact same statements apply for progressive JPEG: the default tables | 363 | * The exact same statements apply for progressive JPEG: the default tables |
287 | * don't work for progressive mode. (This may get fixed, however.) | 364 | * don't work for progressive mode. (This may get fixed, however.) |
288 | */ | 365 | */ |
@@ -293,7 +370,7 @@ typedef int boolean; | |||
293 | #define D_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ | 370 | #define D_ARITH_CODING_SUPPORTED /* Arithmetic coding back end? */ |
294 | #define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ | 371 | #define D_MULTISCAN_FILES_SUPPORTED /* Multiple-scan JPEG files? */ |
295 | #define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ | 372 | #define D_PROGRESSIVE_SUPPORTED /* Progressive JPEG? (Requires MULTISCAN)*/ |
296 | #define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? */ | 373 | #define IDCT_SCALING_SUPPORTED /* Output rescaling via IDCT? (Requires DCT_ISLOW)*/ |
297 | #define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ | 374 | #define SAVE_MARKERS_SUPPORTED /* jpeg_save_markers() needed? */ |
298 | #define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ | 375 | #define BLOCK_SMOOTHING_SUPPORTED /* Block smoothing? (Progressive only) */ |
299 | #undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ | 376 | #undef UPSAMPLE_SCALING_SUPPORTED /* Output rescaling at upsample stage? */ |
diff --git a/gs/jpeg/jpegint.h b/gs/jpeg/jpegint.h index c0d5c1420..18bb8879a 100644 --- a/gs/jpeg/jpegint.h +++ b/gs/jpeg/jpegint.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * jpegint.h | 2 | * jpegint.h |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1997, Thomas G. Lane. | 4 | * Copyright (C) 1991-1997, Thomas G. Lane. |
5 | * Modified 1997-2011 by Guido Vollbeding. | 5 | * Modified 1997-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -211,8 +211,8 @@ struct jpeg_marker_reader { | |||
211 | /* Entropy decoding */ | 211 | /* Entropy decoding */ |
212 | struct jpeg_entropy_decoder { | 212 | struct jpeg_entropy_decoder { |
213 | JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); | 213 | JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); |
214 | JMETHOD(boolean, decode_mcu, (j_decompress_ptr cinfo, | 214 | JMETHOD(boolean, decode_mcu, (j_decompress_ptr cinfo, JBLOCKROW *MCU_data)); |
215 | JBLOCKROW *MCU_data)); | 215 | JMETHOD(void, finish_pass, (j_decompress_ptr cinfo)); |
216 | }; | 216 | }; |
217 | 217 | ||
218 | /* Inverse DCT (also performs dequantization) */ | 218 | /* Inverse DCT (also performs dequantization) */ |
diff --git a/gs/jpeg/jpeglib.h b/gs/jpeg/jpeglib.h index 1327cffa9..f4fbf23e9 100644 --- a/gs/jpeg/jpeglib.h +++ b/gs/jpeg/jpeglib.h | |||
@@ -2,7 +2,7 @@ | |||
2 | * jpeglib.h | 2 | * jpeglib.h |
3 | * | 3 | * |
4 | * Copyright (C) 1991-1998, Thomas G. Lane. | 4 | * Copyright (C) 1991-1998, Thomas G. Lane. |
5 | * Modified 2002-2011 by Guido Vollbeding. | 5 | * Modified 2002-2013 by Guido Vollbeding. |
6 | * This file is part of the Independent JPEG Group's software. | 6 | * This file is part of the Independent JPEG Group's software. |
7 | * For conditions of distribution and use, see the accompanying README file. | 7 | * For conditions of distribution and use, see the accompanying README file. |
8 | * | 8 | * |
@@ -34,17 +34,17 @@ extern "C" { | |||
34 | #endif | 34 | #endif |
35 | 35 | ||
36 | /* Version IDs for the JPEG library. | 36 | /* Version IDs for the JPEG library. |
37 | * Might be useful for tests like "#if JPEG_LIB_VERSION >= 80". | 37 | * Might be useful for tests like "#if JPEG_LIB_VERSION >= 90". |
38 | */ | 38 | */ |
39 | 39 | ||
40 | #define JPEG_LIB_VERSION 80 /* Compatibility version 8.0 */ | 40 | #define JPEG_LIB_VERSION 90 /* Compatibility version 9.0 */ |
41 | #define JPEG_LIB_VERSION_MAJOR 8 | 41 | #define JPEG_LIB_VERSION_MAJOR 9 |
42 | #define JPEG_LIB_VERSION_MINOR 4 | 42 | #define JPEG_LIB_VERSION_MINOR 1 |
43 | 43 | ||
44 | 44 | ||
45 | /* Various constants determining the sizes of things. | 45 | /* Various constants determining the sizes of things. |
46 | * All of these are specified by the JPEG standard, so don't change them | 46 | * All of these are specified by the JPEG standard, |
47 | * if you want to be compatible. | 47 | * so don't change them if you want to be compatible. |
48 | */ | 48 | */ |
49 | 49 | ||
50 | #define DCTSIZE 8 /* The basic DCT block is 8x8 coefficients */ | 50 | #define DCTSIZE 8 /* The basic DCT block is 8x8 coefficients */ |
@@ -157,16 +157,21 @@ typedef struct { | |||
157 | /* The downsampled dimensions are the component's actual, unpadded number | 157 | /* The downsampled dimensions are the component's actual, unpadded number |
158 | * of samples at the main buffer (preprocessing/compression interface); | 158 | * of samples at the main buffer (preprocessing/compression interface); |
159 | * DCT scaling is included, so | 159 | * DCT scaling is included, so |
160 | * downsampled_width = ceil(image_width * Hi/Hmax * DCT_h_scaled_size/DCTSIZE) | 160 | * downsampled_width = |
161 | * ceil(image_width * Hi/Hmax * DCT_h_scaled_size/block_size) | ||
161 | * and similarly for height. | 162 | * and similarly for height. |
162 | */ | 163 | */ |
163 | JDIMENSION downsampled_width; /* actual width in samples */ | 164 | JDIMENSION downsampled_width; /* actual width in samples */ |
164 | JDIMENSION downsampled_height; /* actual height in samples */ | 165 | JDIMENSION downsampled_height; /* actual height in samples */ |
165 | /* This flag is used only for decompression. In cases where some of the | 166 | /* For decompression, in cases where some of the components will be |
166 | * components will be ignored (eg grayscale output from YCbCr image), | 167 | * ignored (eg grayscale output from YCbCr image), we can skip most |
167 | * we can skip most computations for the unused components. | 168 | * computations for the unused components. |
169 | * For compression, some of the components will need further quantization | ||
170 | * scale by factor of 2 after DCT (eg BG_YCC output from normal RGB input). | ||
171 | * The field is first set TRUE for decompression, FALSE for compression | ||
172 | * in initial_setup, and then adapted in color conversion setup. | ||
168 | */ | 173 | */ |
169 | boolean component_needed; /* do we need the value of this component? */ | 174 | boolean component_needed; |
170 | 175 | ||
171 | /* These values are computed before starting a scan of the component. */ | 176 | /* These values are computed before starting a scan of the component. */ |
172 | /* The decompressor output side may not use these variables. */ | 177 | /* The decompressor output side may not use these variables. */ |
@@ -215,12 +220,21 @@ struct jpeg_marker_struct { | |||
215 | typedef enum { | 220 | typedef enum { |
216 | JCS_UNKNOWN, /* error/unspecified */ | 221 | JCS_UNKNOWN, /* error/unspecified */ |
217 | JCS_GRAYSCALE, /* monochrome */ | 222 | JCS_GRAYSCALE, /* monochrome */ |
218 | JCS_RGB, /* red/green/blue */ | 223 | JCS_RGB, /* red/green/blue, standard RGB (sRGB) */ |
219 | JCS_YCbCr, /* Y/Cb/Cr (also known as YUV) */ | 224 | JCS_YCbCr, /* Y/Cb/Cr (also known as YUV), standard YCC */ |
220 | JCS_CMYK, /* C/M/Y/K */ | 225 | JCS_CMYK, /* C/M/Y/K */ |
221 | JCS_YCCK /* Y/Cb/Cr/K */ | 226 | JCS_YCCK, /* Y/Cb/Cr/K */ |
227 | JCS_BG_RGB, /* big gamut red/green/blue, bg-sRGB */ | ||
228 | JCS_BG_YCC /* big gamut Y/Cb/Cr, bg-sYCC */ | ||
222 | } J_COLOR_SPACE; | 229 | } J_COLOR_SPACE; |
223 | 230 | ||
231 | /* Supported color transforms. */ | ||
232 | |||
233 | typedef enum { | ||
234 | JCT_NONE = 0, | ||
235 | JCT_SUBTRACT_GREEN = 1 | ||
236 | } J_COLOR_TRANSFORM; | ||
237 | |||
224 | /* DCT/IDCT algorithm options. */ | 238 | /* DCT/IDCT algorithm options. */ |
225 | 239 | ||
226 | typedef enum { | 240 | typedef enum { |
@@ -369,7 +383,10 @@ struct jpeg_compress_struct { | |||
369 | UINT16 X_density; /* Horizontal pixel density */ | 383 | UINT16 X_density; /* Horizontal pixel density */ |
370 | UINT16 Y_density; /* Vertical pixel density */ | 384 | UINT16 Y_density; /* Vertical pixel density */ |
371 | boolean write_Adobe_marker; /* should an Adobe marker be written? */ | 385 | boolean write_Adobe_marker; /* should an Adobe marker be written? */ |
372 | 386 | ||
387 | J_COLOR_TRANSFORM color_transform; | ||
388 | /* Color transform identifier, writes LSE marker if nonzero */ | ||
389 | |||
373 | /* State variable: index of next scanline to be written to | 390 | /* State variable: index of next scanline to be written to |
374 | * jpeg_write_scanlines(). Application may use this to control its | 391 | * jpeg_write_scanlines(). Application may use this to control its |
375 | * processing loop, e.g., "while (next_scanline < image_height)". | 392 | * processing loop, e.g., "while (next_scanline < image_height)". |
@@ -589,6 +606,9 @@ struct jpeg_decompress_struct { | |||
589 | boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */ | 606 | boolean saw_Adobe_marker; /* TRUE iff an Adobe APP14 marker was found */ |
590 | UINT8 Adobe_transform; /* Color transform code from Adobe marker */ | 607 | UINT8 Adobe_transform; /* Color transform code from Adobe marker */ |
591 | 608 | ||
609 | J_COLOR_TRANSFORM color_transform; | ||
610 | /* Color transform identifier derived from LSE marker, otherwise zero */ | ||
611 | |||
592 | boolean CCIR601_sampling; /* TRUE=first samples are cosited */ | 612 | boolean CCIR601_sampling; /* TRUE=first samples are cosited */ |
593 | 613 | ||
594 | /* Aside from the specific data retained from APPn markers known to the | 614 | /* Aside from the specific data retained from APPn markers known to the |
@@ -681,7 +701,7 @@ struct jpeg_decompress_struct { | |||
681 | 701 | ||
682 | struct jpeg_error_mgr { | 702 | struct jpeg_error_mgr { |
683 | /* Error exit handler: does not return to caller */ | 703 | /* Error exit handler: does not return to caller */ |
684 | JMETHOD(void, error_exit, (j_common_ptr cinfo)); | 704 | JMETHOD(noreturn_t, error_exit, (j_common_ptr cinfo)); |
685 | /* Conditionally emit a trace or warning message */ | 705 | /* Conditionally emit a trace or warning message */ |
686 | JMETHOD(void, emit_message, (j_common_ptr cinfo, int msg_level)); | 706 | JMETHOD(void, emit_message, (j_common_ptr cinfo, int msg_level)); |
687 | /* Routine that actually outputs a trace or error message */ | 707 | /* Routine that actually outputs a trace or error message */ |
diff --git a/gs/jpeg/jpegtran.1 b/gs/jpeg/jpegtran.1 index 0ad1bbc84..2220f7a5a 100644 --- a/gs/jpeg/jpegtran.1 +++ b/gs/jpeg/jpegtran.1 | |||
@@ -1,4 +1,4 @@ | |||
1 | .TH JPEGTRAN 1 "28 December 2009" | 1 | .TH JPEGTRAN 1 "13 September 2013" |
2 | .SH NAME | 2 | .SH NAME |
3 | jpegtran \- lossless transformation of JPEG files | 3 | jpegtran \- lossless transformation of JPEG files |
4 | .SH SYNOPSIS | 4 | .SH SYNOPSIS |
@@ -156,15 +156,23 @@ image region but losslessly preserves what is inside. Like the rotate and | |||
156 | flip transforms, lossless crop is restricted by the current JPEG format: the | 156 | flip transforms, lossless crop is restricted by the current JPEG format: the |
157 | upper left corner of the selected region must fall on an iMCU boundary. If | 157 | upper left corner of the selected region must fall on an iMCU boundary. If |
158 | this does not hold for the given crop parameters, we silently move the upper | 158 | this does not hold for the given crop parameters, we silently move the upper |
159 | left corner up and/or left to make it so, simultaneously increasing the region | 159 | left corner up and/or left to make it so, simultaneously increasing the |
160 | dimensions to keep the lower right crop corner unchanged. (Thus, the output | 160 | region dimensions to keep the lower right crop corner unchanged. (Thus, the |
161 | image covers at least the requested region, but may cover more.) | 161 | output image covers at least the requested region, but may cover more.) |
162 | The adjustment of the region dimensions may be optionally disabled. | ||
162 | 163 | ||
163 | The image can be losslessly cropped by giving the switch: | 164 | The image can be losslessly cropped by giving the switch: |
164 | .TP | 165 | .TP |
165 | .B \-crop WxH+X+Y | 166 | .B \-crop WxH+X+Y |
166 | Crop to a rectangular subarea of width W, height H starting at point X,Y. | 167 | Crop to a rectangular subarea of width W, height H starting at point X,Y. |
167 | .PP | 168 | .PP |
169 | A complementary lossless-wipe option is provided to discard (gray out) data | ||
170 | inside a given image region while losslessly preserving what is outside: | ||
171 | .TP | ||
172 | .B \-wipe WxH+X+Y | ||
173 | Wipe (gray out) a rectangular subarea of width W, height H starting at point | ||
174 | X,Y. | ||
175 | .PP | ||
168 | Other not-strictly-lossless transformation switches are: | 176 | Other not-strictly-lossless transformation switches are: |
169 | .TP | 177 | .TP |
170 | .B \-grayscale | 178 | .B \-grayscale |
diff --git a/gs/jpeg/jpegtran.c b/gs/jpeg/jpegtran.c index e539e91b8..5269344e1 100644 --- a/gs/jpeg/jpegtran.c +++ b/gs/jpeg/jpegtran.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * jpegtran.c | 2 | * jpegtran.c |
3 | * | 3 | * |
4 | * Copyright (C) 1995-2011, Thomas G. Lane, Guido Vollbeding. | 4 | * Copyright (C) 1995-2013, Thomas G. Lane, Guido Vollbeding. |
5 | * This file is part of the Independent JPEG Group's software. | 5 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 6 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 7 | * |
@@ -66,8 +66,8 @@ usage (void) | |||
66 | fprintf(stderr, "Switches for modifying the image:\n"); | 66 | fprintf(stderr, "Switches for modifying the image:\n"); |
67 | #if TRANSFORMS_SUPPORTED | 67 | #if TRANSFORMS_SUPPORTED |
68 | fprintf(stderr, " -crop WxH+X+Y Crop to a rectangular subarea\n"); | 68 | fprintf(stderr, " -crop WxH+X+Y Crop to a rectangular subarea\n"); |
69 | fprintf(stderr, " -grayscale Reduce to grayscale (omit color data)\n"); | ||
70 | fprintf(stderr, " -flip [horizontal|vertical] Mirror image (left-right or top-bottom)\n"); | 69 | fprintf(stderr, " -flip [horizontal|vertical] Mirror image (left-right or top-bottom)\n"); |
70 | fprintf(stderr, " -grayscale Reduce to grayscale (omit color data)\n"); | ||
71 | fprintf(stderr, " -perfect Fail if there is non-transformable edge blocks\n"); | 71 | fprintf(stderr, " -perfect Fail if there is non-transformable edge blocks\n"); |
72 | fprintf(stderr, " -rotate [90|180|270] Rotate image (degrees clockwise)\n"); | 72 | fprintf(stderr, " -rotate [90|180|270] Rotate image (degrees clockwise)\n"); |
73 | #endif | 73 | #endif |
@@ -76,6 +76,7 @@ usage (void) | |||
76 | fprintf(stderr, " -transpose Transpose image\n"); | 76 | fprintf(stderr, " -transpose Transpose image\n"); |
77 | fprintf(stderr, " -transverse Transverse transpose image\n"); | 77 | fprintf(stderr, " -transverse Transverse transpose image\n"); |
78 | fprintf(stderr, " -trim Drop non-transformable edge blocks\n"); | 78 | fprintf(stderr, " -trim Drop non-transformable edge blocks\n"); |
79 | fprintf(stderr, " -wipe WxH+X+Y Wipe (gray out) a rectangular subarea\n"); | ||
79 | #endif | 80 | #endif |
80 | fprintf(stderr, "Switches for advanced users:\n"); | 81 | fprintf(stderr, "Switches for advanced users:\n"); |
81 | #ifdef C_ARITH_CODING_SUPPORTED | 82 | #ifdef C_ARITH_CODING_SUPPORTED |
@@ -187,7 +188,8 @@ parse_switches (j_compress_ptr cinfo, int argc, char **argv, | |||
187 | #if TRANSFORMS_SUPPORTED | 188 | #if TRANSFORMS_SUPPORTED |
188 | if (++argn >= argc) /* advance to next argument */ | 189 | if (++argn >= argc) /* advance to next argument */ |
189 | usage(); | 190 | usage(); |
190 | if (! jtransform_parse_crop_spec(&transformoption, argv[argn])) { | 191 | if (transformoption.crop /* reject multiple crop/wipe requests */ || |
192 | ! jtransform_parse_crop_spec(&transformoption, argv[argn])) { | ||
191 | fprintf(stderr, "%s: bogus -crop argument '%s'\n", | 193 | fprintf(stderr, "%s: bogus -crop argument '%s'\n", |
192 | progname, argv[argn]); | 194 | progname, argv[argn]); |
193 | exit(EXIT_FAILURE); | 195 | exit(EXIT_FAILURE); |
@@ -336,6 +338,21 @@ parse_switches (j_compress_ptr cinfo, int argc, char **argv, | |||
336 | /* Trim off any partial edge MCUs that the transform can't handle. */ | 338 | /* Trim off any partial edge MCUs that the transform can't handle. */ |
337 | transformoption.trim = TRUE; | 339 | transformoption.trim = TRUE; |
338 | 340 | ||
341 | } else if (keymatch(arg, "wipe", 1)) { | ||
342 | #if TRANSFORMS_SUPPORTED | ||
343 | if (++argn >= argc) /* advance to next argument */ | ||
344 | usage(); | ||
345 | if (transformoption.crop /* reject multiple crop/wipe requests */ || | ||
346 | ! jtransform_parse_crop_spec(&transformoption, argv[argn])) { | ||
347 | fprintf(stderr, "%s: bogus -wipe argument '%s'\n", | ||
348 | progname, argv[argn]); | ||
349 | exit(EXIT_FAILURE); | ||
350 | } | ||
351 | select_transform(JXFORM_WIPE); | ||
352 | #else | ||
353 | select_transform(JXFORM_NONE); /* force an error */ | ||
354 | #endif | ||
355 | |||
339 | } else { | 356 | } else { |
340 | usage(); /* bogus switch */ | 357 | usage(); /* bogus switch */ |
341 | } | 358 | } |
@@ -467,7 +484,7 @@ main (int argc, char **argv) | |||
467 | 484 | ||
468 | /* Adjust default decompression parameters */ | 485 | /* Adjust default decompression parameters */ |
469 | if (scaleoption != NULL) | 486 | if (scaleoption != NULL) |
470 | if (sscanf(scaleoption, "%d/%d", | 487 | if (sscanf(scaleoption, "%u/%u", |
471 | &srcinfo.scale_num, &srcinfo.scale_denom) < 1) | 488 | &srcinfo.scale_num, &srcinfo.scale_denom) < 1) |
472 | usage(); | 489 | usage(); |
473 | 490 | ||
diff --git a/gs/jpeg/jversion.h b/gs/jpeg/jversion.h index 5d4915103..a6e3ac734 100644 --- a/gs/jpeg/jversion.h +++ b/gs/jpeg/jversion.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * jversion.h | 2 | * jversion.h |
3 | * | 3 | * |
4 | * Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. | 4 | * Copyright (C) 1991-2014, Thomas G. Lane, Guido Vollbeding. |
5 | * This file is part of the Independent JPEG Group's software. | 5 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 6 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 7 | * |
@@ -9,6 +9,6 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | 11 | ||
12 | #define JVERSION "8d 15-Jan-2012" | 12 | #define JVERSION "9a 19-Jan-2014" |
13 | 13 | ||
14 | #define JCOPYRIGHT "Copyright (C) 2012, Thomas G. Lane, Guido Vollbeding" | 14 | #define JCOPYRIGHT "Copyright (C) 2014, Thomas G. Lane, Guido Vollbeding" |
diff --git a/gs/jpeg/libjpeg.map b/gs/jpeg/libjpeg.map index ac77dca78..fa70b1f12 100644 --- a/gs/jpeg/libjpeg.map +++ b/gs/jpeg/libjpeg.map | |||
@@ -1,4 +1,4 @@ | |||
1 | LIBJPEG_8.0 { | 1 | LIBJPEG_9.0 { |
2 | global: | 2 | global: |
3 | *; | 3 | *; |
4 | }; | 4 | }; |
diff --git a/gs/jpeg/libjpeg.txt b/gs/jpeg/libjpeg.txt index 9702669ea..4243c2463 100644 --- a/gs/jpeg/libjpeg.txt +++ b/gs/jpeg/libjpeg.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | USING THE IJG JPEG LIBRARY | 1 | USING THE IJG JPEG LIBRARY |
2 | 2 | ||
3 | Copyright (C) 1994-2011, Thomas G. Lane, Guido Vollbeding. | 3 | Copyright (C) 1994-2013, Thomas G. Lane, Guido Vollbeding. |
4 | This file is part of the Independent JPEG Group's software. | 4 | This file is part of the Independent JPEG Group's software. |
5 | For conditions of distribution and use, see the accompanying README file. | 5 | For conditions of distribution and use, see the accompanying README file. |
6 | 6 | ||
@@ -95,8 +95,8 @@ use.) Unsupported ISO options include: | |||
95 | * Lossless JPEG | 95 | * Lossless JPEG |
96 | * DNL marker | 96 | * DNL marker |
97 | * Nonintegral subsampling ratios | 97 | * Nonintegral subsampling ratios |
98 | We support both 8- and 12-bit data precision, but this is a compile-time | 98 | We support 8-bit to 12-bit data precision, but this is a compile-time choice |
99 | choice rather than a run-time choice; hence it is difficult to use both | 99 | rather than a run-time choice; hence it is difficult to use different |
100 | precisions in a single application. | 100 | precisions in a single application. |
101 | 101 | ||
102 | By itself, the library handles only interchange JPEG datastreams --- in | 102 | By itself, the library handles only interchange JPEG datastreams --- in |
@@ -225,7 +225,7 @@ For best results, source data values should have the precision specified by | |||
225 | BITS_IN_JSAMPLE (normally 8 bits). For instance, if you choose to compress | 225 | BITS_IN_JSAMPLE (normally 8 bits). For instance, if you choose to compress |
226 | data that's only 6 bits/channel, you should left-justify each value in a | 226 | data that's only 6 bits/channel, you should left-justify each value in a |
227 | byte before passing it to the compressor. If you need to compress data | 227 | byte before passing it to the compressor. If you need to compress data |
228 | that has more than 8 bits/channel, compile with BITS_IN_JSAMPLE = 12. | 228 | that has more than 8 bits/channel, compile with BITS_IN_JSAMPLE = 9 to 12. |
229 | (See "Library compile-time options", later.) | 229 | (See "Library compile-time options", later.) |
230 | 230 | ||
231 | 231 | ||
@@ -876,6 +876,10 @@ jpeg_simple_progression (j_compress_ptr cinfo) | |||
876 | 876 | ||
877 | Compression parameters (cinfo fields) include: | 877 | Compression parameters (cinfo fields) include: |
878 | 878 | ||
879 | boolean arith_code | ||
880 | If TRUE, use arithmetic coding. | ||
881 | If FALSE, use Huffman coding. | ||
882 | |||
879 | int block_size | 883 | int block_size |
880 | Set DCT block size. All N from 1 to 16 are possible. | 884 | Set DCT block size. All N from 1 to 16 are possible. |
881 | Default is 8 (baseline format). | 885 | Default is 8 (baseline format). |
@@ -916,7 +920,16 @@ J_COLOR_SPACE jpeg_color_space | |||
916 | int num_components | 920 | int num_components |
917 | The JPEG color space and corresponding number of components; see | 921 | The JPEG color space and corresponding number of components; see |
918 | "Special color spaces", below, for more info. We recommend using | 922 | "Special color spaces", below, for more info. We recommend using |
919 | jpeg_set_color_space() if you want to change these. | 923 | jpeg_set_colorspace() if you want to change these. |
924 | |||
925 | J_COLOR_TRANSFORM color_transform | ||
926 | Internal color transform identifier, writes LSE marker if nonzero | ||
927 | (requires decoder with inverse color transform support, introduced | ||
928 | with IJG JPEG 9). | ||
929 | Two values are currently possible: JCT_NONE and JCT_SUBTRACT_GREEN. | ||
930 | Set this value for lossless RGB application *before* calling | ||
931 | jpeg_set_colorspace(), because entropy table assignment in | ||
932 | jpeg_set_colorspace() depends on color_transform. | ||
920 | 933 | ||
921 | boolean optimize_coding | 934 | boolean optimize_coding |
922 | TRUE causes the compressor to compute optimal Huffman coding tables | 935 | TRUE causes the compressor to compute optimal Huffman coding tables |
@@ -1260,9 +1273,10 @@ Special color spaces | |||
1260 | The JPEG standard itself is "color blind" and doesn't specify any particular | 1273 | The JPEG standard itself is "color blind" and doesn't specify any particular |
1261 | color space. It is customary to convert color data to a luminance/chrominance | 1274 | color space. It is customary to convert color data to a luminance/chrominance |
1262 | color space before compressing, since this permits greater compression. The | 1275 | color space before compressing, since this permits greater compression. The |
1263 | existing de-facto JPEG file format standards specify YCbCr or grayscale data | 1276 | existing JPEG file interchange format standards specify YCbCr or GRAYSCALE |
1264 | (JFIF), or grayscale, RGB, YCbCr, CMYK, or YCCK (Adobe). For special | 1277 | data (JFIF version 1), GRAYSCALE, RGB, YCbCr, CMYK, or YCCK (Adobe), or BG_RGB |
1265 | applications such as multispectral images, other color spaces can be used, | 1278 | or BG_YCC (big gamut color spaces, JFIF version 2). For special applications |
1279 | such as multispectral images, other color spaces can be used, | ||
1266 | but it must be understood that such files will be unportable. | 1280 | but it must be understood that such files will be unportable. |
1267 | 1281 | ||
1268 | The JPEG library can handle the most common colorspace conversions (namely | 1282 | The JPEG library can handle the most common colorspace conversions (namely |
@@ -1279,22 +1293,25 @@ jpeg_set_colorspace(). Of course you must select a supported transformation. | |||
1279 | jccolor.c currently supports the following transformations: | 1293 | jccolor.c currently supports the following transformations: |
1280 | RGB => YCbCr | 1294 | RGB => YCbCr |
1281 | RGB => GRAYSCALE | 1295 | RGB => GRAYSCALE |
1296 | RGB => BG_YCC | ||
1282 | YCbCr => GRAYSCALE | 1297 | YCbCr => GRAYSCALE |
1298 | YCbCr => BG_YCC | ||
1283 | CMYK => YCCK | 1299 | CMYK => YCCK |
1284 | plus the null transforms: GRAYSCALE => GRAYSCALE, RGB => RGB, | 1300 | plus the null transforms: GRAYSCALE => GRAYSCALE, RGB => RGB, |
1285 | YCbCr => YCbCr, CMYK => CMYK, YCCK => YCCK, and UNKNOWN => UNKNOWN. | 1301 | BG_RGB => BG_RGB, YCbCr => YCbCr, BG_YCC => BG_YCC, CMYK => CMYK, |
1286 | 1302 | YCCK => YCCK, and UNKNOWN => UNKNOWN. | |
1287 | The de-facto file format standards (JFIF and Adobe) specify APPn markers that | 1303 | |
1288 | indicate the color space of the JPEG file. It is important to ensure that | 1304 | The file interchange format standards (JFIF and Adobe) specify APPn markers |
1289 | these are written correctly, or omitted if the JPEG file's color space is not | 1305 | that indicate the color space of the JPEG file. It is important to ensure |
1290 | one of the ones supported by the de-facto standards. jpeg_set_colorspace() | 1306 | that these are written correctly, or omitted if the JPEG file's color space |
1291 | will set the compression parameters to include or omit the APPn markers | 1307 | is not one of the ones supported by the interchange standards. |
1292 | properly, so long as it is told the truth about the JPEG color space. | 1308 | jpeg_set_colorspace() will set the compression parameters to include or omit |
1293 | For example, if you are writing some random 3-component color space without | 1309 | the APPn markers properly, so long as it is told the truth about the JPEG |
1294 | conversion, don't try to fake out the library by setting in_color_space and | 1310 | color space. For example, if you are writing some random 3-component color |
1295 | jpeg_color_space to JCS_YCbCr; use JCS_UNKNOWN. You may want to write an | 1311 | space without conversion, don't try to fake out the library by setting |
1296 | APPn marker of your own devising to identify the colorspace --- see "Special | 1312 | in_color_space and jpeg_color_space to JCS_YCbCr; use JCS_UNKNOWN. |
1297 | markers", below. | 1313 | You may want to write an APPn marker of your own devising to identify |
1314 | the colorspace --- see "Special markers", below. | ||
1298 | 1315 | ||
1299 | When told that the color space is UNKNOWN, the library will default to using | 1316 | When told that the color space is UNKNOWN, the library will default to using |
1300 | luminance-quality compression parameters for all color components. You may | 1317 | luminance-quality compression parameters for all color components. You may |
@@ -1312,6 +1329,8 @@ set out_color_space to override this. Again, you must select a supported | |||
1312 | transformation. jdcolor.c currently supports | 1329 | transformation. jdcolor.c currently supports |
1313 | YCbCr => RGB | 1330 | YCbCr => RGB |
1314 | YCbCr => GRAYSCALE | 1331 | YCbCr => GRAYSCALE |
1332 | BG_YCC => RGB | ||
1333 | BG_YCC => GRAYSCALE | ||
1315 | RGB => GRAYSCALE | 1334 | RGB => GRAYSCALE |
1316 | GRAYSCALE => RGB | 1335 | GRAYSCALE => RGB |
1317 | YCCK => CMYK | 1336 | YCCK => CMYK |
@@ -2572,10 +2591,10 @@ different sizes. If the image dimensions are not a multiple of the MCU size, | |||
2572 | you must also pad the data correctly (usually, this is done by replicating | 2591 | you must also pad the data correctly (usually, this is done by replicating |
2573 | the last column and/or row). The data must be padded to a multiple of a DCT | 2592 | the last column and/or row). The data must be padded to a multiple of a DCT |
2574 | block in each component: that is, each downsampled row must contain a | 2593 | block in each component: that is, each downsampled row must contain a |
2575 | multiple of 8 valid samples, and there must be a multiple of 8 sample rows | 2594 | multiple of block_size valid samples, and there must be a multiple of |
2576 | for each component. (For applications such as conversion of digital TV | 2595 | block_size sample rows for each component. (For applications such as |
2577 | images, the standard image size is usually a multiple of the DCT block size, | 2596 | conversion of digital TV images, the standard image size is usually a |
2578 | so that no padding need actually be done.) | 2597 | multiple of the DCT block size, so that no padding need actually be done.) |
2579 | 2598 | ||
2580 | The procedure for compression of raw data is basically the same as normal | 2599 | The procedure for compression of raw data is basically the same as normal |
2581 | compression, except that you call jpeg_write_raw_data() in place of | 2600 | compression, except that you call jpeg_write_raw_data() in place of |
@@ -2601,22 +2620,22 @@ The scanlines count passed to and returned from jpeg_write_raw_data is | |||
2601 | measured in terms of the component with the largest v_samp_factor. | 2620 | measured in terms of the component with the largest v_samp_factor. |
2602 | 2621 | ||
2603 | jpeg_write_raw_data() processes one MCU row per call, which is to say | 2622 | jpeg_write_raw_data() processes one MCU row per call, which is to say |
2604 | v_samp_factor*DCTSIZE sample rows of each component. The passed num_lines | 2623 | v_samp_factor*block_size sample rows of each component. The passed num_lines |
2605 | value must be at least max_v_samp_factor*DCTSIZE, and the return value will | 2624 | value must be at least max_v_samp_factor*block_size, and the return value |
2606 | be exactly that amount (or possibly some multiple of that amount, in future | 2625 | will be exactly that amount (or possibly some multiple of that amount, in |
2607 | library versions). This is true even on the last call at the bottom of the | 2626 | future library versions). This is true even on the last call at the bottom |
2608 | image; don't forget to pad your data as necessary. | 2627 | of the image; don't forget to pad your data as necessary. |
2609 | 2628 | ||
2610 | The required dimensions of the supplied data can be computed for each | 2629 | The required dimensions of the supplied data can be computed for each |
2611 | component as | 2630 | component as |
2612 | cinfo->comp_info[i].width_in_blocks*DCTSIZE samples per row | 2631 | cinfo->comp_info[i].width_in_blocks*block_size samples per row |
2613 | cinfo->comp_info[i].height_in_blocks*DCTSIZE rows in image | 2632 | cinfo->comp_info[i].height_in_blocks*block_size rows in image |
2614 | after jpeg_start_compress() has initialized those fields. If the valid data | 2633 | after jpeg_start_compress() has initialized those fields. If the valid data |
2615 | is smaller than this, it must be padded appropriately. For some sampling | 2634 | is smaller than this, it must be padded appropriately. For some sampling |
2616 | factors and image sizes, additional dummy DCT blocks are inserted to make | 2635 | factors and image sizes, additional dummy DCT blocks are inserted to make |
2617 | the image a multiple of the MCU dimensions. The library creates such dummy | 2636 | the image a multiple of the MCU dimensions. The library creates such dummy |
2618 | blocks itself; it does not read them from your supplied data. Therefore you | 2637 | blocks itself; it does not read them from your supplied data. Therefore you |
2619 | need never pad by more than DCTSIZE samples. An example may help here. | 2638 | need never pad by more than block_size samples. An example may help here. |
2620 | Assume 2h2v downsampling of YCbCr data, that is | 2639 | Assume 2h2v downsampling of YCbCr data, that is |
2621 | cinfo->comp_info[0].h_samp_factor = 2 for Y | 2640 | cinfo->comp_info[0].h_samp_factor = 2 for Y |
2622 | cinfo->comp_info[0].v_samp_factor = 2 | 2641 | cinfo->comp_info[0].v_samp_factor = 2 |
@@ -2658,8 +2677,8 @@ Then call jpeg_read_raw_data() in place of jpeg_read_scanlines(). The | |||
2658 | decompression process is otherwise the same as usual. | 2677 | decompression process is otherwise the same as usual. |
2659 | 2678 | ||
2660 | jpeg_read_raw_data() returns one MCU row per call, and thus you must pass a | 2679 | jpeg_read_raw_data() returns one MCU row per call, and thus you must pass a |
2661 | buffer of at least max_v_samp_factor*DCTSIZE scanlines (scanline counting is | 2680 | buffer of at least max_v_samp_factor*block_size scanlines (scanline counting |
2662 | the same as for raw-data compression). The buffer you pass must be large | 2681 | is the same as for raw-data compression). The buffer you pass must be large |
2663 | enough to hold the actual data plus padding to DCT-block boundaries. As with | 2682 | enough to hold the actual data plus padding to DCT-block boundaries. As with |
2664 | compression, any entirely dummy DCT blocks are not processed so you need not | 2683 | compression, any entirely dummy DCT blocks are not processed so you need not |
2665 | allocate space for them, but the total scanline count includes them. The | 2684 | allocate space for them, but the total scanline count includes them. The |
@@ -2915,10 +2934,10 @@ This does not count any memory allocated by the application, such as a | |||
2915 | buffer to hold the final output image. | 2934 | buffer to hold the final output image. |
2916 | 2935 | ||
2917 | The above figures are valid for 8-bit JPEG data precision and a machine with | 2936 | The above figures are valid for 8-bit JPEG data precision and a machine with |
2918 | 32-bit ints. For 12-bit JPEG data, double the size of the strip buffers and | 2937 | 32-bit ints. For 9-bit to 12-bit JPEG data, double the size of the strip |
2919 | quantization pixel buffer. The "fixed-size" data will be somewhat smaller | 2938 | buffers and quantization pixel buffer. The "fixed-size" data will be |
2920 | with 16-bit ints, larger with 64-bit ints. Also, CMYK or other unusual | 2939 | somewhat smaller with 16-bit ints, larger with 64-bit ints. Also, CMYK |
2921 | color spaces will require different amounts of space. | 2940 | or other unusual color spaces will require different amounts of space. |
2922 | 2941 | ||
2923 | The full-image coefficient and pixel buffers, if needed at all, do not | 2942 | The full-image coefficient and pixel buffers, if needed at all, do not |
2924 | have to be fully RAM resident; you can have the library use temporary | 2943 | have to be fully RAM resident; you can have the library use temporary |
@@ -2940,27 +2959,34 @@ Library compile-time options | |||
2940 | 2959 | ||
2941 | A number of compile-time options are available by modifying jmorecfg.h. | 2960 | A number of compile-time options are available by modifying jmorecfg.h. |
2942 | 2961 | ||
2943 | The JPEG standard provides for both the baseline 8-bit DCT process and | 2962 | The IJG code currently supports 8-bit to 12-bit sample data precision by |
2944 | a 12-bit DCT process. The IJG code supports 12-bit JPEG if you define | 2963 | defining BITS_IN_JSAMPLE as 8, 9, 10, 11, or 12. |
2945 | BITS_IN_JSAMPLE as 12 rather than 8. Note that this causes JSAMPLE to be | 2964 | Note that a value larger than 8 causes JSAMPLE to be larger than a char, |
2946 | larger than a char, so it affects the surrounding application's image data. | 2965 | so it affects the surrounding application's image data. |
2947 | The sample applications cjpeg and djpeg can support 12-bit mode only for PPM | 2966 | The sample applications cjpeg and djpeg can support deeper than 8-bit data |
2948 | and GIF file formats; you must disable the other file formats to compile a | 2967 | only for PPM and GIF file formats; you must disable the other file formats |
2949 | 12-bit cjpeg or djpeg. (install.txt has more information about that.) | 2968 | to compile a 9-bit to 12-bit cjpeg or djpeg. (install.txt has more |
2950 | At present, a 12-bit library can handle *only* 12-bit images, not both | 2969 | information about that.) |
2951 | precisions. (If you need to include both 8- and 12-bit libraries in a single | 2970 | Run-time selection and conversion of data precision are currently not |
2952 | application, you could probably do it by defining NEED_SHORT_EXTERNAL_NAMES | 2971 | supported and may be added later. |
2953 | for just one of the copies. You'd have to access the 8-bit and 12-bit copies | 2972 | Exception: The transcoding part (jpegtran) supports all settings in a |
2954 | from separate application source files. This is untested ... if you try it, | 2973 | single instance, since it operates on the level of DCT coefficients and |
2955 | we'd like to hear whether it works!) | 2974 | not sample values. |
2956 | 2975 | (If you need to include an 8-bit library and a 9-bit to 12-bit library for | |
2957 | Note that a 12-bit library always compresses in Huffman optimization mode, | 2976 | compression or decompression in a single application, you could probably do |
2958 | in order to generate valid Huffman tables. This is necessary because our | 2977 | it by defining NEED_SHORT_EXTERNAL_NAMES for just one of the copies. You'd |
2959 | default Huffman tables only cover 8-bit data. If you need to output 12-bit | 2978 | have to access the 8-bit and the 9-bit to 12-bit copies from separate |
2960 | files in one pass, you'll have to supply suitable default Huffman tables. | 2979 | application source files. This is untested ... if you try it, we'd like to |
2961 | You may also want to supply your own DCT quantization tables; the existing | 2980 | hear whether it works!) |
2962 | quality-scaling code has been developed for 8-bit use, and probably doesn't | 2981 | |
2963 | generate especially good tables for 12-bit. | 2982 | Note that the standard Huffman tables are only valid for 8-bit data precision. |
2983 | If you selected more than 8-bit data precision, cjpeg uses arithmetic coding | ||
2984 | by default. The Huffman encoder normally uses entropy optimization to | ||
2985 | compute usable tables for higher precision. Otherwise, you'll have to | ||
2986 | supply different default Huffman tables. You may also want to supply your | ||
2987 | own DCT quantization tables; the existing quality-scaling code has been | ||
2988 | developed for 8-bit use, and probably doesn't generate especially good tables | ||
2989 | for 9-bit to 12-bit. | ||
2964 | 2990 | ||
2965 | The maximum number of components (color channels) in the image is determined | 2991 | The maximum number of components (color channels) in the image is determined |
2966 | by MAX_COMPONENTS. The JPEG standard allows up to 255 components, but we | 2992 | by MAX_COMPONENTS. The JPEG standard allows up to 255 components, but we |
diff --git a/gs/jpeg/makefile.ansi b/gs/jpeg/makefile.ansi index 7d0499f8f..c0fe72b1c 100644 --- a/gs/jpeg/makefile.ansi +++ b/gs/jpeg/makefile.ansi | |||
@@ -74,9 +74,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ | |||
74 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | 74 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
75 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ | 75 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
76 | jconfig.vms | 76 | jconfig.vms |
77 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 77 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
78 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 78 | missing ar-lib |
79 | libjpeg.map | 79 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
80 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 80 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
81 | testimgp.jpg | 81 | testimgp.jpg |
82 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ | 82 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
diff --git a/gs/jpeg/makefile.bcc b/gs/jpeg/makefile.bcc index d89e09bd0..68d68ef0d 100644 --- a/gs/jpeg/makefile.bcc +++ b/gs/jpeg/makefile.bcc | |||
@@ -101,9 +101,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ | |||
101 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | 101 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
102 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ | 102 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
103 | jconfig.vms | 103 | jconfig.vms |
104 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 104 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
105 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 105 | missing ar-lib |
106 | libjpeg.map | 106 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
107 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 107 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
108 | testimgp.jpg | 108 | testimgp.jpg |
109 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ | 109 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
diff --git a/gs/jpeg/makefile.dj b/gs/jpeg/makefile.dj index 37b6ee767..f37c12168 100644 --- a/gs/jpeg/makefile.dj +++ b/gs/jpeg/makefile.dj | |||
@@ -74,9 +74,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ | |||
74 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | 74 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
75 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ | 75 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
76 | jconfig.vms | 76 | jconfig.vms |
77 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 77 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
78 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 78 | missing ar-lib |
79 | libjpeg.map | 79 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
80 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 80 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
81 | testimgp.jpg | 81 | testimgp.jpg |
82 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ | 82 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
diff --git a/gs/jpeg/makefile.manx b/gs/jpeg/makefile.manx index 471f40828..57a1bb931 100644 --- a/gs/jpeg/makefile.manx +++ b/gs/jpeg/makefile.manx | |||
@@ -75,9 +75,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ | |||
75 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | 75 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
76 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ | 76 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
77 | jconfig.vms | 77 | jconfig.vms |
78 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 78 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
79 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 79 | missing ar-lib |
80 | libjpeg.map | 80 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
81 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 81 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
82 | testimgp.jpg | 82 | testimgp.jpg |
83 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ | 83 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
diff --git a/gs/jpeg/makefile.mc6 b/gs/jpeg/makefile.mc6 index 1ee83be0c..7dd37f19f 100644 --- a/gs/jpeg/makefile.mc6 +++ b/gs/jpeg/makefile.mc6 | |||
@@ -72,9 +72,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ | |||
72 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | 72 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
73 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ | 73 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
74 | jconfig.vms | 74 | jconfig.vms |
75 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 75 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
76 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 76 | missing ar-lib |
77 | libjpeg.map | 77 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
78 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 78 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
79 | testimgp.jpg | 79 | testimgp.jpg |
80 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ | 80 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
diff --git a/gs/jpeg/makefile.mms b/gs/jpeg/makefile.mms index 6019dfa43..534930605 100644 --- a/gs/jpeg/makefile.mms +++ b/gs/jpeg/makefile.mms | |||
@@ -61,9 +61,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ | |||
61 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | 61 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
62 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ | 62 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
63 | jconfig.vms | 63 | jconfig.vms |
64 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 64 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
65 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 65 | missing ar-lib |
66 | libjpeg.map | 66 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
67 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 67 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
68 | testimgp.jpg | 68 | testimgp.jpg |
69 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ | 69 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
diff --git a/gs/jpeg/makefile.sas b/gs/jpeg/makefile.sas index 252f8fbad..ba0d63b97 100644 --- a/gs/jpeg/makefile.sas +++ b/gs/jpeg/makefile.sas | |||
@@ -83,9 +83,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ | |||
83 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | 83 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
84 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ | 84 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
85 | jconfig.vms | 85 | jconfig.vms |
86 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 86 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
87 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 87 | missing ar-lib |
88 | libjpeg.map | 88 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
89 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 89 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
90 | testimgp.jpg | 90 | testimgp.jpg |
91 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ | 91 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
diff --git a/gs/jpeg/makefile.unix b/gs/jpeg/makefile.unix index eaadfc1db..7dfaf10b8 100644 --- a/gs/jpeg/makefile.unix +++ b/gs/jpeg/makefile.unix | |||
@@ -78,9 +78,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ | |||
78 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | 78 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
79 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ | 79 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
80 | jconfig.vms | 80 | jconfig.vms |
81 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 81 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
82 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 82 | missing ar-lib |
83 | libjpeg.map | 83 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
84 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 84 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
85 | testimgp.jpg | 85 | testimgp.jpg |
86 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ | 86 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
diff --git a/gs/jpeg/makefile.vc b/gs/jpeg/makefile.vc index d4df9d4c5..ae4617994 100644 --- a/gs/jpeg/makefile.vc +++ b/gs/jpeg/makefile.vc | |||
@@ -71,9 +71,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \ | |||
71 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ | 71 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \ |
72 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ | 72 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \ |
73 | jconfig.vms | 73 | jconfig.vms |
74 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 74 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp \ |
75 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \ | 75 | missing ar-lib |
76 | libjpeg.map | 76 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
77 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ | 77 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \ |
78 | testimgp.jpg | 78 | testimgp.jpg |
79 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ | 79 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \ |
diff --git a/gs/jpeg/makefile.wat b/gs/jpeg/makefile.wat index a3e652bc2..9cb8d6115 100644 --- a/gs/jpeg/makefile.wat +++ b/gs/jpeg/makefile.wat | |||
@@ -73,9 +73,9 @@ MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc & | |||
73 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat & | 73 | CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat & |
74 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas & | 74 | jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas & |
75 | jconfig.vms | 75 | jconfig.vms |
76 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing | 76 | CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp & |
77 | OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm & | 77 | missing ar-lib |
78 | libjpeg.map | 78 | OTHERFILES= jconfig.txt ckconfig.c jmemdosa.asm libjpeg.map |
79 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg & | 79 | TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg & |
80 | testimgp.jpg | 80 | testimgp.jpg |
81 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) & | 81 | DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) & |
diff --git a/gs/jpeg/missing b/gs/jpeg/missing index 28055d2ae..db98974ff 100755 --- a/gs/jpeg/missing +++ b/gs/jpeg/missing | |||
@@ -1,11 +1,10 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Common stub for a few missing GNU programs while installing. | 2 | # Common wrapper for a few potentially missing GNU programs. |
3 | 3 | ||
4 | scriptversion=2009-04-28.21; # UTC | 4 | scriptversion=2013-10-28.13; # UTC |
5 | 5 | ||
6 | # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, | 6 | # Copyright (C) 1996-2013 Free Software Foundation, Inc. |
7 | # 2008, 2009 Free Software Foundation, Inc. | 7 | # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. |
8 | # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. | ||
9 | 8 | ||
10 | # This program is free software; you can redistribute it and/or modify | 9 | # This program is free software; you can redistribute it and/or modify |
11 | # it under the terms of the GNU General Public License as published by | 10 | # it under the terms of the GNU General Public License as published by |
@@ -26,69 +25,40 @@ scriptversion=2009-04-28.21; # UTC | |||
26 | # the same distribution terms that you use for the rest of that program. | 25 | # the same distribution terms that you use for the rest of that program. |
27 | 26 | ||
28 | if test $# -eq 0; then | 27 | if test $# -eq 0; then |
29 | echo 1>&2 "Try \`$0 --help' for more information" | 28 | echo 1>&2 "Try '$0 --help' for more information" |
30 | exit 1 | 29 | exit 1 |
31 | fi | 30 | fi |
32 | 31 | ||
33 | run=: | 32 | case $1 in |
34 | sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' | ||
35 | sed_minuso='s/.* -o \([^ ]*\).*/\1/p' | ||
36 | |||
37 | # In the cases where this matters, `missing' is being run in the | ||
38 | # srcdir already. | ||
39 | if test -f configure.ac; then | ||
40 | configure_ac=configure.ac | ||
41 | else | ||
42 | configure_ac=configure.in | ||
43 | fi | ||
44 | 33 | ||
45 | msg="missing on your system" | 34 | --is-lightweight) |
35 | # Used by our autoconf macros to check whether the available missing | ||
36 | # script is modern enough. | ||
37 | exit 0 | ||
38 | ;; | ||
46 | 39 | ||
47 | case $1 in | 40 | --run) |
48 | --run) | 41 | # Back-compat with the calling convention used by older automake. |
49 | # Try to run requested program, and just exit if it succeeds. | 42 | shift |
50 | run= | 43 | ;; |
51 | shift | ||
52 | "$@" && exit 0 | ||
53 | # Exit code 63 means version mismatch. This often happens | ||
54 | # when the user try to use an ancient version of a tool on | ||
55 | # a file that requires a minimum version. In this case we | ||
56 | # we should proceed has if the program had been absent, or | ||
57 | # if --run hadn't been passed. | ||
58 | if test $? = 63; then | ||
59 | run=: | ||
60 | msg="probably too old" | ||
61 | fi | ||
62 | ;; | ||
63 | 44 | ||
64 | -h|--h|--he|--hel|--help) | 45 | -h|--h|--he|--hel|--help) |
65 | echo "\ | 46 | echo "\ |
66 | $0 [OPTION]... PROGRAM [ARGUMENT]... | 47 | $0 [OPTION]... PROGRAM [ARGUMENT]... |
67 | 48 | ||
68 | Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an | 49 | Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due |
69 | error status if there is no known handling for PROGRAM. | 50 | to PROGRAM being missing or too old. |
70 | 51 | ||
71 | Options: | 52 | Options: |
72 | -h, --help display this help and exit | 53 | -h, --help display this help and exit |
73 | -v, --version output version information and exit | 54 | -v, --version output version information and exit |
74 | --run try to run the given command, and emulate it if it fails | ||
75 | 55 | ||
76 | Supported PROGRAM values: | 56 | Supported PROGRAM values: |
77 | aclocal touch file \`aclocal.m4' | 57 | aclocal autoconf autoheader autom4te automake makeinfo |
78 | autoconf touch file \`configure' | 58 | bison yacc flex lex help2man |
79 | autoheader touch file \`config.h.in' | ||
80 | autom4te touch the output file, or create a stub one | ||
81 | automake touch all \`Makefile.in' files | ||
82 | bison create \`y.tab.[ch]', if possible, from existing .[ch] | ||
83 | flex create \`lex.yy.c', if possible, from existing .c | ||
84 | help2man touch the output file | ||
85 | lex create \`lex.yy.c', if possible, from existing .c | ||
86 | makeinfo touch the output file | ||
87 | tar try tar, gnutar, gtar, then tar without non-portable flags | ||
88 | yacc create \`y.tab.[ch]', if possible, from existing .[ch] | ||
89 | 59 | ||
90 | Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and | 60 | Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and |
91 | \`g' are ignored when checking the name. | 61 | 'g' are ignored when checking the name. |
92 | 62 | ||
93 | Send bug reports to <bug-automake@gnu.org>." | 63 | Send bug reports to <bug-automake@gnu.org>." |
94 | exit $? | 64 | exit $? |
@@ -100,272 +70,141 @@ Send bug reports to <bug-automake@gnu.org>." | |||
100 | ;; | 70 | ;; |
101 | 71 | ||
102 | -*) | 72 | -*) |
103 | echo 1>&2 "$0: Unknown \`$1' option" | 73 | echo 1>&2 "$0: unknown '$1' option" |
104 | echo 1>&2 "Try \`$0 --help' for more information" | 74 | echo 1>&2 "Try '$0 --help' for more information" |
105 | exit 1 | 75 | exit 1 |
106 | ;; | 76 | ;; |
107 | 77 | ||
108 | esac | 78 | esac |
109 | 79 | ||
110 | # normalize program name to check for. | 80 | # Run the given program, remember its exit status. |
111 | program=`echo "$1" | sed ' | 81 | "$@"; st=$? |
112 | s/^gnu-//; t | 82 | |
113 | s/^gnu//; t | 83 | # If it succeeded, we are done. |
114 | s/^g//; t'` | 84 | test $st -eq 0 && exit 0 |
115 | 85 | ||
116 | # Now exit if we have it, but it failed. Also exit now if we | 86 | # Also exit now if we it failed (or wasn't found), and '--version' was |
117 | # don't have it and --version was passed (most likely to detect | 87 | # passed; such an option is passed most likely to detect whether the |
118 | # the program). This is about non-GNU programs, so use $1 not | 88 | # program is present and works. |
119 | # $program. | 89 | case $2 in --version|--help) exit $st;; esac |
120 | case $1 in | 90 | |
121 | lex*|yacc*) | 91 | # Exit code 63 means version mismatch. This often happens when the user |
122 | # Not GNU programs, they don't have --version. | 92 | # tries to use an ancient version of a tool on a file that requires a |
123 | ;; | 93 | # minimum version. |
124 | 94 | if test $st -eq 63; then | |
125 | tar*) | 95 | msg="probably too old" |
126 | if test -n "$run"; then | 96 | elif test $st -eq 127; then |
127 | echo 1>&2 "ERROR: \`tar' requires --run" | 97 | # Program was missing. |
128 | exit 1 | 98 | msg="missing on your system" |
129 | elif test "x$2" = "x--version" || test "x$2" = "x--help"; then | 99 | else |
130 | exit 1 | 100 | # Program was found and executed, but failed. Give up. |
131 | fi | 101 | exit $st |
132 | ;; | 102 | fi |
133 | |||
134 | *) | ||
135 | if test -z "$run" && ($1 --version) > /dev/null 2>&1; then | ||
136 | # We have it, but it failed. | ||
137 | exit 1 | ||
138 | elif test "x$2" = "x--version" || test "x$2" = "x--help"; then | ||
139 | # Could not run --version or --help. This is probably someone | ||
140 | # running `$TOOL --version' or `$TOOL --help' to check whether | ||
141 | # $TOOL exists and not knowing $TOOL uses missing. | ||
142 | exit 1 | ||
143 | fi | ||
144 | ;; | ||
145 | esac | ||
146 | |||
147 | # If it does not exist, or fails to run (possibly an outdated version), | ||
148 | # try to emulate it. | ||
149 | case $program in | ||
150 | aclocal*) | ||
151 | echo 1>&2 "\ | ||
152 | WARNING: \`$1' is $msg. You should only need it if | ||
153 | you modified \`acinclude.m4' or \`${configure_ac}'. You might want | ||
154 | to install the \`Automake' and \`Perl' packages. Grab them from | ||
155 | any GNU archive site." | ||
156 | touch aclocal.m4 | ||
157 | ;; | ||
158 | |||
159 | autoconf*) | ||
160 | echo 1>&2 "\ | ||
161 | WARNING: \`$1' is $msg. You should only need it if | ||
162 | you modified \`${configure_ac}'. You might want to install the | ||
163 | \`Autoconf' and \`GNU m4' packages. Grab them from any GNU | ||
164 | archive site." | ||
165 | touch configure | ||
166 | ;; | ||
167 | |||
168 | autoheader*) | ||
169 | echo 1>&2 "\ | ||
170 | WARNING: \`$1' is $msg. You should only need it if | ||
171 | you modified \`acconfig.h' or \`${configure_ac}'. You might want | ||
172 | to install the \`Autoconf' and \`GNU m4' packages. Grab them | ||
173 | from any GNU archive site." | ||
174 | files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` | ||
175 | test -z "$files" && files="config.h" | ||
176 | touch_files= | ||
177 | for f in $files; do | ||
178 | case $f in | ||
179 | *:*) touch_files="$touch_files "`echo "$f" | | ||
180 | sed -e 's/^[^:]*://' -e 's/:.*//'`;; | ||
181 | *) touch_files="$touch_files $f.in";; | ||
182 | esac | ||
183 | done | ||
184 | touch $touch_files | ||
185 | ;; | ||
186 | |||
187 | automake*) | ||
188 | echo 1>&2 "\ | ||
189 | WARNING: \`$1' is $msg. You should only need it if | ||
190 | you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. | ||
191 | You might want to install the \`Automake' and \`Perl' packages. | ||
192 | Grab them from any GNU archive site." | ||
193 | find . -type f -name Makefile.am -print | | ||
194 | sed 's/\.am$/.in/' | | ||
195 | while read f; do touch "$f"; done | ||
196 | ;; | ||
197 | |||
198 | autom4te*) | ||
199 | echo 1>&2 "\ | ||
200 | WARNING: \`$1' is needed, but is $msg. | ||
201 | You might have modified some files without having the | ||
202 | proper tools for further handling them. | ||
203 | You can get \`$1' as part of \`Autoconf' from any GNU | ||
204 | archive site." | ||
205 | |||
206 | file=`echo "$*" | sed -n "$sed_output"` | ||
207 | test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` | ||
208 | if test -f "$file"; then | ||
209 | touch $file | ||
210 | else | ||
211 | test -z "$file" || exec >$file | ||
212 | echo "#! /bin/sh" | ||
213 | echo "# Created by GNU Automake missing as a replacement of" | ||
214 | echo "# $ $@" | ||
215 | echo "exit 0" | ||
216 | chmod +x $file | ||
217 | exit 1 | ||
218 | fi | ||
219 | ;; | ||
220 | |||
221 | bison*|yacc*) | ||
222 | echo 1>&2 "\ | ||
223 | WARNING: \`$1' $msg. You should only need it if | ||
224 | you modified a \`.y' file. You may need the \`Bison' package | ||
225 | in order for those modifications to take effect. You can get | ||
226 | \`Bison' from any GNU archive site." | ||
227 | rm -f y.tab.c y.tab.h | ||
228 | if test $# -ne 1; then | ||
229 | eval LASTARG="\${$#}" | ||
230 | case $LASTARG in | ||
231 | *.y) | ||
232 | SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` | ||
233 | if test -f "$SRCFILE"; then | ||
234 | cp "$SRCFILE" y.tab.c | ||
235 | fi | ||
236 | SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` | ||
237 | if test -f "$SRCFILE"; then | ||
238 | cp "$SRCFILE" y.tab.h | ||
239 | fi | ||
240 | ;; | ||
241 | esac | ||
242 | fi | ||
243 | if test ! -f y.tab.h; then | ||
244 | echo >y.tab.h | ||
245 | fi | ||
246 | if test ! -f y.tab.c; then | ||
247 | echo 'main() { return 0; }' >y.tab.c | ||
248 | fi | ||
249 | ;; | ||
250 | |||
251 | lex*|flex*) | ||
252 | echo 1>&2 "\ | ||
253 | WARNING: \`$1' is $msg. You should only need it if | ||
254 | you modified a \`.l' file. You may need the \`Flex' package | ||
255 | in order for those modifications to take effect. You can get | ||
256 | \`Flex' from any GNU archive site." | ||
257 | rm -f lex.yy.c | ||
258 | if test $# -ne 1; then | ||
259 | eval LASTARG="\${$#}" | ||
260 | case $LASTARG in | ||
261 | *.l) | ||
262 | SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` | ||
263 | if test -f "$SRCFILE"; then | ||
264 | cp "$SRCFILE" lex.yy.c | ||
265 | fi | ||
266 | ;; | ||
267 | esac | ||
268 | fi | ||
269 | if test ! -f lex.yy.c; then | ||
270 | echo 'main() { return 0; }' >lex.yy.c | ||
271 | fi | ||
272 | ;; | ||
273 | |||
274 | help2man*) | ||
275 | echo 1>&2 "\ | ||
276 | WARNING: \`$1' is $msg. You should only need it if | ||
277 | you modified a dependency of a manual page. You may need the | ||
278 | \`Help2man' package in order for those modifications to take | ||
279 | effect. You can get \`Help2man' from any GNU archive site." | ||
280 | |||
281 | file=`echo "$*" | sed -n "$sed_output"` | ||
282 | test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` | ||
283 | if test -f "$file"; then | ||
284 | touch $file | ||
285 | else | ||
286 | test -z "$file" || exec >$file | ||
287 | echo ".ab help2man is required to generate this page" | ||
288 | exit $? | ||
289 | fi | ||
290 | ;; | ||
291 | |||
292 | makeinfo*) | ||
293 | echo 1>&2 "\ | ||
294 | WARNING: \`$1' is $msg. You should only need it if | ||
295 | you modified a \`.texi' or \`.texinfo' file, or any other file | ||
296 | indirectly affecting the aspect of the manual. The spurious | ||
297 | call might also be the consequence of using a buggy \`make' (AIX, | ||
298 | DU, IRIX). You might want to install the \`Texinfo' package or | ||
299 | the \`GNU make' package. Grab either from any GNU archive site." | ||
300 | # The file to touch is that specified with -o ... | ||
301 | file=`echo "$*" | sed -n "$sed_output"` | ||
302 | test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` | ||
303 | if test -z "$file"; then | ||
304 | # ... or it is the one specified with @setfilename ... | ||
305 | infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` | ||
306 | file=`sed -n ' | ||
307 | /^@setfilename/{ | ||
308 | s/.* \([^ ]*\) *$/\1/ | ||
309 | p | ||
310 | q | ||
311 | }' $infile` | ||
312 | # ... or it is derived from the source name (dir/f.texi becomes f.info) | ||
313 | test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info | ||
314 | fi | ||
315 | # If the file does not exist, the user really needs makeinfo; | ||
316 | # let's fail without touching anything. | ||
317 | test -f $file || exit 1 | ||
318 | touch $file | ||
319 | ;; | ||
320 | |||
321 | tar*) | ||
322 | shift | ||
323 | |||
324 | # We have already tried tar in the generic part. | ||
325 | # Look for gnutar/gtar before invocation to avoid ugly error | ||
326 | # messages. | ||
327 | if (gnutar --version > /dev/null 2>&1); then | ||
328 | gnutar "$@" && exit 0 | ||
329 | fi | ||
330 | if (gtar --version > /dev/null 2>&1); then | ||
331 | gtar "$@" && exit 0 | ||
332 | fi | ||
333 | firstarg="$1" | ||
334 | if shift; then | ||
335 | case $firstarg in | ||
336 | *o*) | ||
337 | firstarg=`echo "$firstarg" | sed s/o//` | ||
338 | tar "$firstarg" "$@" && exit 0 | ||
339 | ;; | ||
340 | esac | ||
341 | case $firstarg in | ||
342 | *h*) | ||
343 | firstarg=`echo "$firstarg" | sed s/h//` | ||
344 | tar "$firstarg" "$@" && exit 0 | ||
345 | ;; | ||
346 | esac | ||
347 | fi | ||
348 | |||
349 | echo 1>&2 "\ | ||
350 | WARNING: I can't seem to be able to run \`tar' with the given arguments. | ||
351 | You may want to install GNU tar or Free paxutils, or check the | ||
352 | command line arguments." | ||
353 | exit 1 | ||
354 | ;; | ||
355 | |||
356 | *) | ||
357 | echo 1>&2 "\ | ||
358 | WARNING: \`$1' is needed, and is $msg. | ||
359 | You might have modified some files without having the | ||
360 | proper tools for further handling them. Check the \`README' file, | ||
361 | it often tells you about the needed prerequisites for installing | ||
362 | this package. You may also peek at any GNU archive site, in case | ||
363 | some other package would contain this missing \`$1' program." | ||
364 | exit 1 | ||
365 | ;; | ||
366 | esac | ||
367 | 103 | ||
368 | exit 0 | 104 | perl_URL=http://www.perl.org/ |
105 | flex_URL=http://flex.sourceforge.net/ | ||
106 | gnu_software_URL=http://www.gnu.org/software | ||
107 | |||
108 | program_details () | ||
109 | { | ||
110 | case $1 in | ||
111 | aclocal|automake) | ||
112 | echo "The '$1' program is part of the GNU Automake package:" | ||
113 | echo "<$gnu_software_URL/automake>" | ||
114 | echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" | ||
115 | echo "<$gnu_software_URL/autoconf>" | ||
116 | echo "<$gnu_software_URL/m4/>" | ||
117 | echo "<$perl_URL>" | ||
118 | ;; | ||
119 | autoconf|autom4te|autoheader) | ||
120 | echo "The '$1' program is part of the GNU Autoconf package:" | ||
121 | echo "<$gnu_software_URL/autoconf/>" | ||
122 | echo "It also requires GNU m4 and Perl in order to run:" | ||
123 | echo "<$gnu_software_URL/m4/>" | ||
124 | echo "<$perl_URL>" | ||
125 | ;; | ||
126 | esac | ||
127 | } | ||
128 | |||
129 | give_advice () | ||
130 | { | ||
131 | # Normalize program name to check for. | ||
132 | normalized_program=`echo "$1" | sed ' | ||
133 | s/^gnu-//; t | ||
134 | s/^gnu//; t | ||
135 | s/^g//; t'` | ||
136 | |||
137 | printf '%s\n' "'$1' is $msg." | ||
138 | |||
139 | configure_deps="'configure.ac' or m4 files included by 'configure.ac'" | ||
140 | case $normalized_program in | ||
141 | autoconf*) | ||
142 | echo "You should only need it if you modified 'configure.ac'," | ||
143 | echo "or m4 files included by it." | ||
144 | program_details 'autoconf' | ||
145 | ;; | ||
146 | autoheader*) | ||
147 | echo "You should only need it if you modified 'acconfig.h' or" | ||
148 | echo "$configure_deps." | ||
149 | program_details 'autoheader' | ||
150 | ;; | ||
151 | automake*) | ||
152 | echo "You should only need it if you modified 'Makefile.am' or" | ||
153 | echo "$configure_deps." | ||
154 | program_details 'automake' | ||
155 | ;; | ||
156 | aclocal*) | ||
157 | echo "You should only need it if you modified 'acinclude.m4' or" | ||
158 | echo "$configure_deps." | ||
159 | program_details 'aclocal' | ||
160 | ;; | ||
161 | autom4te*) | ||
162 | echo "You might have modified some maintainer files that require" | ||
163 | echo "the 'autom4te' program to be rebuilt." | ||
164 | program_details 'autom4te' | ||
165 | ;; | ||
166 | bison*|yacc*) | ||
167 | echo "You should only need it if you modified a '.y' file." | ||
168 | echo "You may want to install the GNU Bison package:" | ||
169 | echo "<$gnu_software_URL/bison/>" | ||
170 | ;; | ||
171 | lex*|flex*) | ||
172 | echo "You should only need it if you modified a '.l' file." | ||
173 | echo "You may want to install the Fast Lexical Analyzer package:" | ||
174 | echo "<$flex_URL>" | ||
175 | ;; | ||
176 | help2man*) | ||
177 | echo "You should only need it if you modified a dependency" \ | ||
178 | "of a man page." | ||
179 | echo "You may want to install the GNU Help2man package:" | ||
180 | echo "<$gnu_software_URL/help2man/>" | ||
181 | ;; | ||
182 | makeinfo*) | ||
183 | echo "You should only need it if you modified a '.texi' file, or" | ||
184 | echo "any other file indirectly affecting the aspect of the manual." | ||
185 | echo "You might want to install the Texinfo package:" | ||
186 | echo "<$gnu_software_URL/texinfo/>" | ||
187 | echo "The spurious makeinfo call might also be the consequence of" | ||
188 | echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" | ||
189 | echo "want to install GNU make:" | ||
190 | echo "<$gnu_software_URL/make/>" | ||
191 | ;; | ||
192 | *) | ||
193 | echo "You might have modified some files without having the proper" | ||
194 | echo "tools for further handling them. Check the 'README' file, it" | ||
195 | echo "often tells you about the needed prerequisites for installing" | ||
196 | echo "this package. You may also peek at any GNU archive site, in" | ||
197 | echo "case some other package contains this missing '$1' program." | ||
198 | ;; | ||
199 | esac | ||
200 | } | ||
201 | |||
202 | give_advice "$1" | sed -e '1s/^/WARNING: /' \ | ||
203 | -e '2,$s/^/ /' >&2 | ||
204 | |||
205 | # Propagate the correct exit status (expected to be 127 for a program | ||
206 | # not found, 63 for a program that failed due to version mismatch). | ||
207 | exit $st | ||
369 | 208 | ||
370 | # Local variables: | 209 | # Local variables: |
371 | # eval: (add-hook 'write-file-hooks 'time-stamp) | 210 | # eval: (add-hook 'write-file-hooks 'time-stamp) |
diff --git a/gs/jpeg/rdjpgcom.1 b/gs/jpeg/rdjpgcom.1 index 97611df81..d7741fb94 100644 --- a/gs/jpeg/rdjpgcom.1 +++ b/gs/jpeg/rdjpgcom.1 | |||
@@ -1,4 +1,4 @@ | |||
1 | .TH RDJPGCOM 1 "02 April 2009" | 1 | .TH RDJPGCOM 1 "13 September 2013" |
2 | .SH NAME | 2 | .SH NAME |
3 | rdjpgcom \- display text comments from a JPEG file | 3 | rdjpgcom \- display text comments from a JPEG file |
4 | .SH SYNOPSIS | 4 | .SH SYNOPSIS |
diff --git a/gs/jpeg/structure.txt b/gs/jpeg/structure.txt index 44e48ca8a..98e20c7c6 100644 --- a/gs/jpeg/structure.txt +++ b/gs/jpeg/structure.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | IJG JPEG LIBRARY: SYSTEM ARCHITECTURE | 1 | IJG JPEG LIBRARY: SYSTEM ARCHITECTURE |
2 | 2 | ||
3 | Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. | 3 | Copyright (C) 1991-2013, Thomas G. Lane, Guido Vollbeding. |
4 | This file is part of the Independent JPEG Group's software. | 4 | This file is part of the Independent JPEG Group's software. |
5 | For conditions of distribution and use, see the accompanying README file. | 5 | For conditions of distribution and use, see the accompanying README file. |
6 | 6 | ||
@@ -170,16 +170,16 @@ can be simplified a little if they work on padded data: it's not necessary to | |||
170 | have special cases at the right and bottom edges. Therefore the interface | 170 | have special cases at the right and bottom edges. Therefore the interface |
171 | buffer is always an integral number of blocks wide and high, and we expect | 171 | buffer is always an integral number of blocks wide and high, and we expect |
172 | compression preprocessing to pad the source data properly. Padding will occur | 172 | compression preprocessing to pad the source data properly. Padding will occur |
173 | only to the next block (N-sample) boundary. In an interleaved-scan situation, | 173 | only to the next block (block_size-sample) boundary. In an interleaved-scan |
174 | additional dummy blocks may be used to fill out MCUs, but the MCU assembly and | 174 | situation, additional dummy blocks may be used to fill out MCUs, but the MCU |
175 | disassembly logic will create or discard these blocks internally. (This is | 175 | assembly and disassembly logic will create or discard these blocks internally. |
176 | advantageous for speed reasons, since we avoid DCTing the dummy blocks. | 176 | (This is advantageous for speed reasons, since we avoid DCTing the dummy |
177 | It also permits a small reduction in file size, because the compressor can | 177 | blocks. It also permits a small reduction in file size, because the |
178 | choose dummy block contents so as to minimize their size in compressed form. | 178 | compressor can choose dummy block contents so as to minimize their size |
179 | Finally, it makes the interface buffer specification independent of whether | 179 | in compressed form. Finally, it makes the interface buffer specification |
180 | the file is actually interleaved or not.) Applications that wish to deal | 180 | independent of whether the file is actually interleaved or not.) |
181 | directly with the downsampled data must provide similar buffering and padding | 181 | Applications that wish to deal directly with the downsampled data must |
182 | for odd-sized images. | 182 | provide similar buffering and padding for odd-sized images. |
183 | 183 | ||
184 | 184 | ||
185 | *** Poor man's object-oriented programming *** | 185 | *** Poor man's object-oriented programming *** |
@@ -345,9 +345,10 @@ The objects shown above are: | |||
345 | require context rows above and below the current row group; the | 345 | require context rows above and below the current row group; the |
346 | preprocessing controller is responsible for supplying these rows via proper | 346 | preprocessing controller is responsible for supplying these rows via proper |
347 | buffering. The downsampler is responsible for edge expansion at the right | 347 | buffering. The downsampler is responsible for edge expansion at the right |
348 | edge (i.e., extending each sample row to a multiple of N samples); but the | 348 | edge (i.e., extending each sample row to a multiple of block_size samples); |
349 | preprocessing controller is responsible for vertical edge expansion (i.e., | 349 | but the preprocessing controller is responsible for vertical edge expansion |
350 | duplicating the bottom sample row as needed to make a multiple of N rows). | 350 | (i.e., duplicating the bottom sample row as needed to make a multiple of |
351 | block_size rows). | ||
351 | 352 | ||
352 | * Coefficient controller: buffer controller for the DCT-coefficient data. | 353 | * Coefficient controller: buffer controller for the DCT-coefficient data. |
353 | This controller handles MCU assembly, including insertion of dummy DCT | 354 | This controller handles MCU assembly, including insertion of dummy DCT |
@@ -651,8 +652,8 @@ contain quantized coefficients everywhere outside the DCT/IDCT subsystems. | |||
651 | quantization a la JPEG Part 3.) | 652 | quantization a la JPEG Part 3.) |
652 | 653 | ||
653 | Notice that the allocation unit is now a row of 8x8 coefficient blocks, | 654 | Notice that the allocation unit is now a row of 8x8 coefficient blocks, |
654 | corresponding to N rows of samples. Otherwise the structure is much the same | 655 | corresponding to block_size rows of samples. Otherwise the structure |
655 | as for samples, and for the same reasons. | 656 | is much the same as for samples, and for the same reasons. |
656 | 657 | ||
657 | On machines where malloc() can't handle a request bigger than 64Kb, this data | 658 | On machines where malloc() can't handle a request bigger than 64Kb, this data |
658 | structure limits us to rows of less than 512 JBLOCKs, or a picture width of | 659 | structure limits us to rows of less than 512 JBLOCKs, or a picture width of |
diff --git a/gs/jpeg/testimg.bmp b/gs/jpeg/testimg.bmp index 012223eb6..11aa0cbf4 100644 --- a/gs/jpeg/testimg.bmp +++ b/gs/jpeg/testimg.bmp | |||
Binary files differ | |||
diff --git a/gs/jpeg/testimg.ppm b/gs/jpeg/testimg.ppm index bd78ef8ee..1377eef27 100644 --- a/gs/jpeg/testimg.ppm +++ b/gs/jpeg/testimg.ppm | |||
@@ -1,4 +1,4 @@ | |||
1 | P6 | 1 | P6 |
2 | 227 149 | 2 | 227 149 |
3 | 255 | 3 | 255 |
4 | 0/-0/-10.21/51.51.62/72.83/83/83/:3-:3-:3-:3-:3-:2/91.91.80-80-91.91.:2/80-80-80-80-80-80-80-80-6.+6.+6.+5-*5-*4,)4,)4,)4,)4,)4,)4,)4,)4,)4,)4,).+$/,%/,%0-&1.'2/(30)30)63,63,74-85.85.96/:70:70A;/B<0D>2F@2IA4JB5KC6KD4MD5MD5MD3NB2OC3OC3PD4QE5T>1Y?2b@4nB5}E6ŒG8šG9¥E7²F9ºF9¿E8ÆF;ÉF>ËF?ÌG@ÌG@íCNíCLíCLíDKíDIïBFñ>Bõ<Aø;Aø9@ö9?ð;@ë>@â?@×?<Ñ=;µ@.µ@.µ@.´?-´?-³@-²?-°?-@,ªA.¦A-¢B,A*›A)˜@*—A*’?/’?/’?/‘>,‘>,’<+’<+’<+”?+”?+”=*”=*”=*•>+–?+—@,”?:•>7—=4Ÿ?1©B3³D3¼D3¿D4º?/¶@2E8žH;‡H9mB2T8*D3#:659549547326216005//50-72/72/72/61-61-50,50,50,.0-.0-.0-//-//-0/-2.-3--5,-4+,4*+4(*7(+=.1E69L<?n@B|HJ‹MN–NO¢VZ¬cln s’|£„°}‡¼|‰¾pz`aTLuRCjSKcOG_MH\TR`fdo|}‚‘™ž˜£©Ÿ¤¨š¡’’{|jhgUXWERO>UPdUPdUPd0/-0/-10.10.40-51.62/72.83/83/83/:3-:3-:3-:3-:3-91.91.80-80-80-80-91.91.80-80-80-80-80-80-80-80-6.+6.+5-*5-*5-*4,)4,)4,)5-*5-*5-*5-*5-*5-*5-*5-*/,%0-&0-&1.'2/(30)41*41*63,63,74-74-85.96/:70:70@:.A;/C=1E?3H@3IA4JB5JC3LC4LC4KB3MA1MA1NB2OC3PD4P>0U?1^A3jC4xD6†D4“D5žB3¨B3°@2¶@4¼B7ÂC:ÄE<ÆF=ÇG>èAKèAIèCIêDHíDGïBDó@D÷>Cø;Aø9@ö9?ð<?é?@à@@Õ@<Î=8µ@.µ@.´?-´?-´?-²?,°?-¯@-@,©@-¦A-¡A+A*›@+˜@*—A*’?/’?/‘>.‘>.‘>,=+’<+’<+”>-“>*“>*”=*”=*•>+–?,—@-“@8•>5˜>3Ÿ?1«A3µD4½D3ÁC4¼A2¸B6E8œI;…G:kA3S9*D4$<66;55:4493382271161.61.72/72/72/61-61-50,50,50,.0-.0-.0-//-//-0/-2.-2.-3--5,-4*+4(*5)+<-0C47I:=h<;vDC†JI’LJST§`h¨k{rŽ‘{¢„°|†»y†½lv«[\ŒQHsQBkOFaOFaNI_RN_[Yfnotƒ‡ˆ”™•™ž—š ”™‘ƒ~ojk[]\JVUCXQaXQaXQa/.,/.,0/-10.40-40-51.51.72.72.72.92,92,92,92,92,91.80-7/,7/,7/,7/,80-91.80-80-80-80-80-80-80-80-6.+5-*5-*5-*4,)4,)4,)4,)5-*5-*5-*5-*5-*5-*5-*5-*1.'1.'2/(30)30)41*41*52+63,63,63,74-85.96/96/:70?9-@:.B<0D>2G?4H@3H@3H@3I@1I@1I@1K?1K?/L@0MA1NB2MA1QA2YB2dC2qC3|C2‰A2“@0™<+ :+©;,¯>0¶@4¼C8¿F=ÀG>à?Eá@FãBGæCFêDFðCEõADù?Dú;@û:?÷:@ñ=@è@@ÜA=Ñ@;É>7³@-³@-³@-²?,²?,²?-¯>,®?,ª?-©@-¥@,¡A+A,˜@*—A*–@)’?/‘>.‘>.‘>.=+=+=+’<+“=,“=,’<+’=)“>*“>*”?+•@,”B7–?5š>3£>2A4¹C5¿D5ÂC4ÂD6ºF9¯I=›I=‚F;gA4P:,B6&=77=77<66:4493383072/72/62/62/62/52-52-41,41,41,,1-,1-.0-.0-//-//-0/-2.-5//4..5,-4*+4*+9-/>24C79_83l?:|E@ˆIB’NK›Z^œft”n‡Œwž€~¯zƒºs¹dm¤UU‰NEtO?lMBbPEcQHcMH^NK\[[estx…‰ˆ‡Œ†Š†…†Š|xzlghXZ[KVTEZT`ZT`ZT`.-+/.,/.,0/-10.40-40-40-51.61-61-61-81+81+81+81+50-50-4/,4/,4/,4/,50-50-61.61.61.61.61.61.61.61.3.+3.+3.+2-*2-*2-*1,)1,)4/,4/,4/,4/,4/,4/,4/,4/,30+30+30+41,41,52-52-52-52-52-63.74/850850961961>8,?9-@:.B<0E=2E=2F>1F>1G=1G>/F=.I=/I=/J>0L@0L@0JD4NE4TD4^D3hE2sB1~A/‡>-Œ9'”9'9)£<-¬@3³E8·I<ºJ>Ù@CÚACÝCEâDEçCDîACô@Cø>Aü;@û:?÷:>ð=@åA?ÚB=ËA7Ã>5°@,°@,°@,°?-¯>,¯>,®?,¬>-ª?-¦?,£@-Ÿ@,œ@+˜@*–@)”@(‘>.‘>.‘>.=-=-=-<*<*=+=+<*<*=+“=,”>-”>-”B6–?5›?2¦@2²B4½C6ÂB5ÄB5ÄF:½H>K@˜J@|F:aA4K;.?9+@86@86?75>64:5294183073062/62/62/32.32-21,21,21,-2.-2.-2./1./1.00.00.10.5106005//5,-4+,6,-:01>45W6-b<3qA7}D9„H@ŒRQŽ_i‹iƒs˜|z¬u~·myµ^g¢RQŠMDyM?rN@dPEgQFfLC^GBVNLZ^^fjnquzvx}vz€vwzokoa`bUWYKTUG]V^]V^]V^.-+.-+.-+/.,0/-10.3/,40-3/,4/+4/+4/+4/+6/)6/)6/)4/,4/,3.+3.+3.+3.+4/,4/,50-50-50-50-50-50-50-50-3.+3.+2-*2-*2-*1,)1,)1,)4/,4/,4/,4/,4/,4/,4/,4/,41,41,41,41,41,52-52-52-52-52-63.63.74/850961961<5+=6,?8.@9/B:/C;0C;0C;.D:.D:.D:.G;-H<.I=/J>0K?1GH6KH7PG6XG5aF3jD1uB/|?,‚;)‹:'’;(š=,£B2«G7±K<´M>ÒDBÔDCØDBÝEBâC@ê@@ð>>÷:>û:=ú9<õ;>í?>áB>ÓC:ÅA5º?0¯@-®?,®?,®?,>+>+¬>-ª?-¨?,¤?-¢?,ž?+š?*–?+”?*“>)?.?.>->->-Ž=,Ž=,Ž=,Ž=,Ž=,Ž=,Ž=,<,=-‘>.‘>.”B4—A4@1ª@3¶B5ÁC7ÆA8Å@7ÁB;¸G?©KCJ@uE;Y>3C9-78*@86@86?75>64=53:5294173062/43/43/32.23.12-12,12,,2.-2.-2.-2./1./1.00.00.3205105104..2,,4+,7./901P5*Y9,e>/n@1tB7|KGƒYcƒg~p—xx¬s{¹js¶]e¦TT”OG‚LAyPAjPAhMAeJA`GBYHEXKKWMPU^bc`fbcha`f\Z`TWZOUYKWYL`WZ`WZ`WZ,,,,,,---.-+/.,0/-10.3/,2.+2.+3.*3.*3.*3.*3.*3.*3.+3.+2-*1,)1,)2-*3.+3.+3.+3.+3.+3.+3.+3.+3.+3.+2-*2-*2-*2-*1,)1,)1,)0+(3.+3.+3.+3.+3.+3.+3.+3.+41,41,41,41,41,41,41,41,41,52-52-63.74/850850850;4*<5+=6,>7-@7.A8/A9.A9.C9/C9-C9-F:.G;/H<.J>0K?1FI8GH6MH5TG6[F3dC0lA.t?-{<*‚;)Š;*“=,šA1£F5ªJ:M=ÉE@ËFAÑFAÖE@ÞC?å@>í==ó9<ø:<÷9;ó;=ë?=ÝB=ÌD8¼A2±>,«@,«@,¬?+¬>-¬>-©>,©>,¨>.¥>-¢?, ?,›>,—?+•>*“>)‘?)>->->->-Ž=,Ž=,Ž=,<+Ž=,<+‹<+‹<+‹<+Œ=.>/Ž?0’C2—A2 @2A5»B9ÃC:Ç@:Å@9»@9³H@¥NGNEoG=R@4?;039-A75A75@64>63<4194083/74/63.43.34/23.13.02-02-02--3/-3/-3/.3/.3/02/02/11/11/32032040/2.-1-,4..5//H4)M5)X8+a<,f>2nGBzYb‚lƒ€uŸ{|´u|Àmu¾bi±[[¡SLLBQAnN?jI=cH>`HB^FCX@BO<?HBGJFLJJQJJQIIQFKQGOUISYMaXSaXSaXS++++++,,,---/.,/.,0/-0/-1-*1-*1-*2-)2-)2-)2-)2-)2-*2-*1,)1,)1,)1,)2-*2-*1,)1,)1,)1,)1,)1,)1,)1,)2-*2-*2-*1,)1,)1,)0+(0+(3.+3.+3.+3.+3.+3.+3.+3.+41,41,41,30+30+30+30+30+41,41,52-63.74/74/850850:3+;4,<5-=6.?6-?6-?6-?6-B8.B8.C9/E9-G;/H<0J>2K?3DG6EF6KE5PD4VC2^C2e@.m>,v=,|;)ƒ:)Š;*“=.›B2¢F7¦I:¿D<ÂF>ÇG>ÏF>ØE>âC?ì@>ó<>õ9:ó9:ï;<å@<×B;ÆD6´A/¨=)©@-©@-©@-¨?,¨?,¨>.§=-¥>-£>, ?.ž?-š?,—>,“>*‘?*>)>->->-Œ=,Œ=,Œ=,‹<-‹<-‹<-‹<-‰<,‰<,Š=-‹=0‹=0Œ>1‘D2–C1¡A3®B6¼C:ÅA<ÇB=ÃB=»EA³PJ¥XPŽZOqSIVI@BD97A6A83@72?61=60<4194083/63.43.43.34.13.13.02-.3-.3--3/-3/-3/.3/.3/.3/02/02/00.11/22021/0/-/.,2.-3/.?0)C1'K3'T8,Z<2dGCw]hƒsˆ„„À|ƒËszÈkq¿ed°VSšJC‡N>kK<gG;cG=`FB]DBX?AP;?H:BE?HGDMHGQIGQHJRGNVKRZOaYNaYNaYN++++++,,,,,,---/.,0/-0/-/.,1-*1-*1-*2-)2-)2-)2-)1-,0,+0,+/+*/+*0,+0,+1-,/+*/+*/+*/+*/+*/+*/+*/+*1-,1-,1-,0,+0,+/+*/+*/+*1-,1-,1-,1-,1-,1-,1-,1-,3/,3/,3/,3/,3/,3/,3/,3/,40-40-51.62/62/73084184192,:3-;4,<5->5.>5.>5.>5,B8/B8/C9/E8/G:1I<3J=4K?3EC6FB6IC5NB4TA3\@2b>0h=-q<.w9*}8)…7*Œ:,•=/›B2 D5µE9¸F;ÀG<ÈH=ÒH>ßF@èC?ð@@î:9î:9é=;àA;ÑD:¾E4¬A-¢?(¦A-¦A-¥@.¥@.¦?.¥>-¤?-¤>/¢>.Ÿ@.œ?.˜?-•>+‘?*>)>+>->->-Œ=,Œ=.Š=-Š=-Š=-Š</ˆ<.ˆ<.ˆ<.ˆ<.‰=0Š>1‹?2‘D2–C1¢B4®B6¼C;ÄC>ÄC>¾D?»PJ²[T¥e\‘f]s_TYUJFNC>KA@70@72>71=6094.83-63,63.43.34.34.13.13..3-.3-.3--3/-3/-3/.3/.3/.3/.3/02/.0-00.22022000.0/-0/-10.8,,;,)B1*K7.S<4^IHtbn‡z–Š¸‹Ê‚ˆÒy€ÐrwÈik¸XV¡GD‹I<gG<fD<aC>^C@[ABV>DP>EMGQSKWUQ^WU`XS_UR^TT^SV`UaZHaZHaZH,-/,-/------------.-+.-+/.,/.,1-*0,)0,)0,)/+(0+'/+*/+*/+*/+*/+*/+*/+*0,+/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*0,+0,+1-,1-,2.-1-,1-,1-,1-,1-,1-,1-,1-,0,)1-*2.+3/,3/,3/,3/,3/,3/,3/,3/,3/,40-51.62/73081+92,:3-;4.=4/>5.>5.>5.?4.?5,@6-C6.D7.F90G:1H;2F?5H@5J@6N@5R>3W<1\:0a7+k9.t8-|8+…9,;/“=0˜?1›?2¨@3¬B5´D8¾E:ÊG=ÕF>ßD?çB>ë?=íA?çD?ÜE>ÉC8¶C1§B.¡B,¢A.¡@-¢?,¢?,¡=-¡=-¢>. ?.œ<,š=,˜=+•>-“=,=+Ž=*Œ>*‹<+‹<+‹<+‰<,‰<,‰<,‡;-‡;-‰=/†</†</‡=0‡?1ˆ@4‰A5ŠB6‘F3–E4£F7³H>½F@¾C>¾DA»KG·XR¯f]£qfth|rfik^S_SCSHQJBLE=D=5<8/95,74-63,33+43.34.23-13.02--2,,1+,1+-2.-2.-2.-2.-2.-2./1./1.02/02/11/11/11/11/11/11/5*2;/3A32C4/J;6]OOymy‹…Ÿ’‘½”–Ӕ݂‰×tzÈjn¸_b©YZPHmHBdA>]>>X?AVBHVLU^U`bbqnn}xv†|p€ulyoguh_k_T`Ta[Eb\Fc]G,-/,-/,-/,-/---------.-+/.,.-+.-+0,)/+(/+(/+(/+(.*).*).*).*)/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*0,+0,+0,+1-,1-,1-,1-,1-,1-,1-,1-,1-,1-,0,)0,)1-*2.+3/,3/,2.+2.+2.+2.+2.+2.+3/,40-51.62/80-91.:2/;30=4/>50>50=4-?4.?4.?4.B5-C6.E80G:2H;3H>5J=5L=6O>6Q=4V;2Z90_7/h8.p7.y6-‚8-‰9.’;1–<1š>1¢@3¦A5ªB5³E8¾E:ÉF<ÔE=ÜC=âC?ãD@ßF@ÕF>ÄF8±C2£B/›C-ŸB0 A/Ÿ@.ž?-ž?-Ÿ>-ž>.ž>.š=,™=.–=-“=,=+>-Œ=,‹>,Š=+Š=+‰<,‰<,‰<,‡;-‡;-…<-†</…=/…=1ƒ=1„>4†@6‡A7ˆB8‘H7•F7£G:±I@¹HB¹FAºJFµTM²dZªreŸ~op~|mlteYgZJZOPLAKI=EC7@>2=:1:7.44*11)23+23-12,/1,/1,.0+.0+.0-/1./1./1./1./1./1./1./1.02/11/11/11/11/11/11/11/5*:9-9<15?53H?:^VTxszŠˆž‘“º”—Εׄ‹ÓxÆpyºkt¯en¥__yXZsSUjRWjU]j\gmguvr‚v‡€‘‡ƒ•‰}v†yp€sfteXfW_YA`ZBb\D,-/,-/,-/,-/,-/---------.-+.-+.-+-,*/+(.*'.*'.*'.*+.*+.*+.*+-)*-)*-)*-)*/+,/+,/+,/+,/+,/+,/+,/+,.*+.*+/+,/+,/+,0,-0,-0,-0,-0,-0,-1-.1-.1-.1-.1-.0,+0,+1-,2.-2.-2.-2.-1-,1-,1-,1-,1-,2.-3/.40/51080-91.:2/;30=31=31=4/=4/?40?4.?4.A4.C60D7/F91G:2H;5J;6K<7N=6P;6S:5V72[60c60k6.t5,}7/‡9/Ž:0”<0˜<1œ@3ž@4¢@3§A3±C6¼C8ÇD:ÎC<ÖF>ÚG@×HBÍH?¾E:C3ŸB0™B.B/œA.›@-›>-›>-›>-›>-œ?0˜<-–=-”=,“=.>-Œ=,Š=+Š=+‰<*‰<,‰<,‡;+‡;+…<-„;,ƒ;-„<0‚<0‚<2‚>3ƒ?4…A8†C:‡D;“K<–H; H>JDµIF´KG´SM¯_V®rg¥qœz{Šwr€ocqbVdWPQCMN@HI;DD8@@4::055+/0(01)01+/0*/0+./*./*//-//-//-//-//-//-//-//-//-//-00.00.00.00.00.00.00.00.6*>6+;8.6;63HE>_^Yyz|Šœ“²’–ÃŽ•Ë„Æ}ˆ¾{‰¸|‹´|Œ°ˆ—yƒq~‡o|‚n}€o‚€yŽ‡ƒ™‹¡”‘¨˜¦”ˆŠƒ–ƒ|{j{iXiW\V<^X>`Z@-.0-.0-.0-.0-.0-.0......---.-+-,*-,*,+).*'.*'.*',*++)*+)*+)*+)**()*()*(),*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+-+,-+,-+,-+,.,-.,-.,-.,-/-./-./-./+*0,+1-,1-,1-,1-,0,+0,+0,+0,+0,+0,+1-,2.-3/.40/91/:20;31<42=31=31=31=31>3/>3/>3/@3-A4.C60D71E82G83H94I:5L:6M:6N94Q83T50^72e60o6/x8/ƒ90Š:/’;1•=1™?4™?4›?2@1¥A2C5¸D7ÀD:ÉF<ÌG>ÌIAÄH>¶F:©C4B0—B.˜A.˜A.˜?-—>,™>,™=.™=.™=.•<,”<.“=.=-Ž<.Š=-Š=-ˆ<,ˆ;)ˆ;+‡;+‡;+„;,„;,ƒ;-‚:,;/€<1€<1>5ƒ@7ƒC:…E<†F=’M>•I<œH>¨IC¯LG¯PL¯\Tªj^§€o y˜š‚Žœƒ„–€z‹ym{lam_UYHQUDKO@EI:@D6;=057,13(01)/0*/.).-).-).-+/.,0/-/.,/.,/.,/.,/.,/.,/.,/.,0/-0/-0/-0/-0/-0/-0/-0/-8*A6):3-1961HJ=bfX{€y‰‘“Œ“£–²Œ”¸ƒ³±…™²¤¶ªµ•§§¤£Œ ž‡ž–‚™}˜‰œ‹ˆ£”°š–²›”—‹£‹…›†’~k|iUfSXT7ZV9^Z=+/2+/2-.0-.0-.0-.0-.0...------.-+-,*-,*,+),+),+),*+,*+,*++)*+)**()*()*(),*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*++)*+)*+)*,*+-+,-+,.,-.,-/-./-./-./+*0,+0,+0,+0,+0,+/+*.*)/+*/+*/+*/+*0,+1-,3/.40/91/:20;31<42=32=32<20<20=20=2.=2.?1.@2/A4.B5/C60D63C84D95G96G96H94K84N51V72_60h70r7/}:1†<1=2>2˜?7—?5—?5—?3šA3£C5ªD6³E8ºE;¿F=ÀG>»F=°D8¤B5™@0–@/–A-–A-–?,•>+•<,•<,–=-–=/”<.’<-=-Ž<.‹<-‰<,ˆ<,ˆ<,‡;+†:*†:*†:*ƒ:+‚:+‚:,€:.;0€<1€=4?6‚B9ƒD;†G@‡HALA’H?˜HA¤KGªOLªWQªf]¥wh¡Œw˜›€’¥‰Š¤‡„ž…|’}t‚qlte\eRV_LMVCEL<?F6<@27;-68-01)00(.-(/+(/+(/+*2,,3--1-,1-,1-,1-,1-,1-,1-,1-,0/-0/-0/-0/-0/-0/-0/-0/-9*?5)73*-66*GL6_iPx„nˆ“…—–™¢™§†–¥‡›¤ª©šº¯ŸÁ±š¶¨š¶§›·¨˜¸£‘±š‰«’‰«²”’³”•´•ˆ¢…ƒ›{’xgzdQcMTS5VU7XW9,03,03,03,03./1./1./1///..........-+.-+.-+-,*-,*-+,-+,-+,,*++)**()*()*()+)*+)*+)*+)*+)*+)*+)*+)*,*+,*++)*+)*+)**()*()*(),*+,*+,*+-+,.,-.,-/-./-./+*/+*0,+0,+/+*/+*.*)-)(0,+0,+/+*0,+1-,2.-3/.40/:12:12;23<42=32<21<21;1/=20<1/<1->0-?1.@2/A30A30?61@72@93A96A96B94E74G51O61W6/a6/j8/u9.€</‡=0Š>0•>7•>5“?5’@4•B4™C4ŸC4¥D4ªB5²C8´E:±E;©C7 @4˜?1•?2“A,’?-“=,“=,“<+“<+”<.”<.“;-’</<.;-Š;,‰<,‡;-…<-†:*†:*…9)ƒ:)ƒ:+9+:+9-€<1<3?5A8‚C<…F?†JB‡JEJAG@—HC¡NJ©VRª_Y©pe£„r›•{’¢…‹ªŠ„©ˆ€¡„~–~z‡uszjcqZ]iSR^JHT@BK:>E5:@29<134,22*1.)/+(/*'0**3*+4+,1++1++1++1++1++1++1++0,+1-,1-,1-,1-,1-,1-,1-,/.,;(;5(23+(56$CL-\hDt„`…”wŽ›‰’ž”Ÿšž–¥—•µ¡Æ¤¦Ð¨¥É¯¦Ê°§Ë¯¢Éª—¿‹³ˆ°‹³ŽŽ²Ž²¬Š„¢€€™{wŽrdx]MaHQQ5QQ5RR6,03,03,03,03./1./1./1./1/////////0/-/.,/.,.-+.-+/-..,-.,--+,,*++)*+)**()+)*+)*+)*+)*+)*+)*+)*+)*+)*+)*+)**()*()*())'()'(+)*+)*,*+-+,.,-.,-/-./-./+*/+*/+*/+*/+*.*)-)(,('0,+0,+0,+0,+1-,2.-40/40/:12;23;23<34=32<21<21;10<1/<1/<1/=/,>0->0-?1.@2/;60;62;83<94=:5=:5?82A60F5.O4-W5+b6+n8,x:-<,„<.’:6‘<5=5Ž@4A4‘B3•B2™@0Ÿ?1¦@4ªB7ªB9¥@6?5—=2•?2‘@-’?-‘>,’<+‘;*‘;,“;-“;-‘;,<.;-‹<-‰;.‡;-„;,„;,…9)…9)…9)‚9*‚9*9+~8,}9,=1€=4€@7B9„E>…HCˆKFŠMHŒIAŽGA˜JF¢SOª\X«h`©{n£Žy—Ž©ˆ…¯‹«ˆ~£„€˜€‹w{nixacr[ZhQP]IIUACL;>D6<?467/44,30+0+(1)'1()3)*5+,2)*2)*2)*2)*2)*0**0**0**1++1++0,+0,+0,+0,+0,+0,+;&57(/4-%46?I$Ue8pT‚’kœ}‘Ÿ†’¡Œ¡ˆ¨‡•¹žÉ“¢Ò”©Ò°¨Ò®¥ÑŸÌ¥‘¾•ƒ°…‚‚†±„†¯ƒŒ±ˆ‰¬„Ÿ{{”tqˆk_sWJ^CMM1LL0KK/,03,03,03,03./1./1./1./10000000000/-0/-0/-/.,/.,0.//-./-..,--+,,*++)*+)*+)*+)*+)*+)*+)*+)*+)*+)*+)*+)*+)**()*())'()'((&'*()+)*,*+,*+-+,.,-/-./-./+*/+*/+*/+*.*)-)(,(',('1-,1-,1-,1-,2.-3/.40/510;23;23<34<34=34<21;10;10<1/<1/;0.=/.=/,>0-?1.?1.96/:729839839:4:94;83>71A2+I2*S2)^4(j6)s8*|:*~;+84:5=4Œ@3‹B3A1@/”>-˜<-Ÿ=0¥@4¦A7¢@7œ>4—=4•=3‘@-?,=+<*‘;*‘;,‘;,’<-‘;.<.;-Š;,ˆ:-‡;-„;,„;,…9)…9)‚9(‚9*9*€8*~8,}9,€>2?5€@7‚C<ƒG?†IDˆMGŠOIŒICHD˜MJ¥UT¬a^ng«s¤•€–¡ƒŠ¬‰‚°‹|«‡|£„™y‚ql{dgv__nWXeQP\HIRAAG9=@579.66.41,1,)1)'2()3)*4*+2)*2)*2)*2)*2)*2)*2)*0**1++1++1++0,+0,+0,+0,+0,+:&27(+4."47=HRb1l~J€’b‰™rŽ|Ÿ‚ŠŸ~Š§{·€˜Æ…œÎ…œÉ¢šÉŸ™Èž”׉¸Š®€‚°‹¶ˆ‚¬~ˆ¯ƒ‡ª€~œvuml„dZnRG[?IL/GJ-DG*/0*/0*/0*01+01+01+21,21,32-63.63.63.52-50,4/+4/+8.,7/,6.+5-+4,*2-*1++0,-0,-.,/--/-,1,+0*+/)*.()./(0/(//(//(//(//)-.)-.*+/+,-,*-,(.-).-)-.(./)./)--/--/---.../-.0/-2.+3.+2-)4,)5.(7.)8/(;0*;1(<2)<5+=4+>5.>5.>5.=4-<3.<1-=2.<1-<1/;0.=/.>0/>0/?11H-&C1';5)2:++=-(=.-;.45-?-+H()R%(X((Z.+Z8.[A2\G6wC-{B.„C1A3’?1•;0–:/”8+“;-‘>.‘B1‘D0‘D0B.?,<*Ÿ63›83”:2Œ<1…@1B0|A/|A/‚C2„A1ˆ>1‰=0‰;/ˆ:.‡9-‡9-v:/|@5u=0n9)s@/s@/t<+{@0{<-ƒ?4ˆD9‹H?ˆLA„NBQC€RC—HK•TRd]…ue{…lw’sz|€£ƒ‰¦ˆŽ¥‰’¤Œ‘¥Œ‡¤ˆy¢‚kŸ{awhŽea†]\zV[sS]mR[cLVTEPH=J;6G53B,/=&,:#+:#-9#/8".#/-#-,$-,&*+))+-(.1'/2'/4'06&14'14'13'32(32(30(3.)-0,-0,)//'=>0WZErx\‹gœs‹žpŒ¢qŒ§r‹¨r‰ªs³{›¾†£¿Ž ¾Œ›¹‡’²€‹{†ªz„ª{…ª~„§}…¥€€ž|z“vr‰oi{e[jWLZIKO@CG8>B3/0*01+01+01+12,12,21,32-43.63.74/74/63.61-50,50,7/,7/,6.+6.,5-+2-*1++0,+0,-/-./-0--/-,1+*/)*.()-/(//(//(//(//)-/)-.*+.*+/+*-,*.-).-)/.*./)./)./)..0....../-./.,/.,1-*3.+3.*5.(6/)8/(90);0*<2)=3*>5,>5,>5.>5.>5.=4-<3,=2.=2.<1-;0.;0.;0.=/.>0/?10F/'D0)A3*=4+96-85.83-<1-?-+D*)K)(P*'U.)[4-_:1c?3s@+xA-€A0‰?2‘?4”;3”:1“;19.‹<-Š>.ŠA0‹B1B/ŽA/@/š93—:3’;2‹=1„?0‚@0@/?/„A1†>0‰=0‰;/‡;.„:-‚:,‚:,w9.x<1s9-n9)r?.s>.q9*u:,}=1„@5‰E:‹H?‰K@†MB„PCQC›DJ›QR–d]vfƒ‡p}”w~ ƒ¦…ˆ§ˆŽ§Š’¦‹“¥Œ£‰‚Ÿƒwœ}o˜xa•g\`VƒZU}XWyXWpSPbJKVECI;@A998340-0,+/+,.)--(,*,+)+***,+),-(,/)-2(03(03(02(02(10)1/*1-*1,+3,+32-12./0,)--%9:,TWBox[€‹i‡–o†™l†žnˆ£p†¤p„¥pŠw“¶€›¹‡˜¶„“³Œ®{†«xƒ§w‚¨yƒ¨|ƒ¦|„¤{x’uqˆnh{eYjWL[HGK<@D5:>/12,12,12,12,23-23-43.43.54/74/85085085083/72.61-80-80-7/,6.,6.,3.+2,,1-,1-./-.0.1..0--/,+0+*/*).1'//(//(//)-/)-/)-.*+.*+0,+0,+/.*/.*/.*0/*/0*/0*/////////0./0/-1-,1-*2-)4/+70*90+:1*<1+=3*>4+?5,?6-?6-@7.@70?6/>5.=4->3/=2.<1-;0.;0.;0.;0.<1/=20C2*E0+H/+L,-N+/M*.J*/E+.A-,@.*@/(C/(M/'Y0*d1-j30i;+o;-w;0=4‰<4Ž;5Ž94:4‹;2‡=2†>2…@1†A2‰A3ŒB5C6‘=2=1Œ>1Š>0†>/…=.…=.†=.ˆ<.‰;.ˆ:-‡9,„;,€;+~=+z=*}=3z<1v:/u;-x@1x@1v<.v;-?3„B6ŠF=‹H?ŠJA‡KA‡NC†PDDHQQšc^’ug‰„n‘t~}€¥ƒ„©‡ˆª‰©Œ“§Œ‘£‰‹ƒ„˜€”{a›k[•eXaV‰`W…`W]QtVMiPC[E=RA6F9/<2*5-&1+%.)$-(1&*1&*1&*1&*1&*1(-2).1+//*0-+0,+0+,0),1(-1&.1&.14.24.0.*'**"66*PUAmv[~‰i€k~“h™jƒŸn€ n~ m€¥q‡¬xŽ®|‹zˆªw„©v§t€¦u¦w€¥y¤y€¢}}›yw’sp‡mh{eYkUL[HEG:=?28:-23-23-34.34.34.45/54/54/650961961:72:72:51940940:2/91.91.80-7/-4/,4/,3/.3/.3/01/01/00.1..0--/,,.2).2).2).0*.0*,0*,0*,/+*1-,1-*0/+0/+10+10+10+10+11111100010.10.2.+2.+3.*91.92,;2+<3,>4+@6-@6-A7.A8/A8/B90A8/A81@70>5.?4.=2.=2.<1-;0.;0.<1/=20=20?5,E2.O-.W(0]#/\"0W#/L'.C/.:3-55);5)E1(U.'c+*l*+e;/j;1s=3}<6…;8‰;9Š;7ˆ:6‰>9†?9…B9ƒC9…B9†B9‡A9‰@7†B/†B/‡@.‡@.‡>-ˆ<,‰:+‹9+‹8*‹8*ˆ9*…9)€<)z=(w?(t@(ƒ=3{7,x8,z</v;-w=/{A5{?4€B7„D:‡G=‰I@ˆI@ˆLB‰NF‹PH“OL”YS’f[sb„€g}Œmz˜v{¡|©ƒ«‡†«‰‰«Š‹¦‡Šžƒ†˜~„”zm˜mi”iegdefŒgc†e]~_Zw[PhPI_J@Q?8D60:/-5**/(),%7$(7$(5%(4%(1&*1(+/+,.,-*+-(,-'--%-/%-/$./$./$./1(+1+-0+(.+$88,PUAiqYvƒe{Œhyf{–iœn}Ÿmyžkz m¥r‚§s€¥q}¤o}£p}¥s~¦t~¥v}¤w|¡x}Ÿzz™wuqn‡jg{bWkRK]GGE9?=1:8,45/45/45/560560560761761872:72;83<94<94=84<73<73<41<41;30;3083072/61.61.5106216213122011/00.//-.4+.4+.4+.4+.2,.2,,2,,2,,3/,3/,3/,10,21,21,32-32-22222032032032.51.61-61-;4.<5-=4-@6-A7.B8/E8/E8/C:1C:1E;2D:1C90B71@5/@5/>3/>3/=2.=2.=20=20>31>31>7/C41O/2Y*2_%3`#2Y%1N+1B3077-39+68*?5)N1)]-)e+)c;3h<3r=7z=:‚<<†<=‡;;…;:‚;9>8€A:C;‚C<ƒB<…@9„?8E/D/C.ƒ@-†=,‰<,‹9+Œ9+Œ6)Š7)†9)‚;)~=)w?(sA(qB(…6/|/'8/ƒ?4w5)s5*}A6}C7E9G<ƒI>„J?…K@‡LDŠOGŒSJycL~hSoYu]}bˆi„•u‚ |¥~|©€~¬…†€ª„¥€|ž}{˜yn}ŽlyŒlwŒkwŒmt‰joƒgl~dbqZ[hTSZHIK=B@4=6,8/&5+":&(8%'6&'2&&0(&-)(++)).*'+*&,*&,*'+*'+,)*,**,**,-#$2*(50,85,BC5UZFfpWn}^tˆcqŠbt‘ex˜iw›ks™hs›iwŸmz¢mx lwŸkv¡ly£q{¥u{¥w|£wxžuzœww–tqŽom†hd{_WkPJ^CFB9>:195,560560671671782782872872983<94=:5>;6>;6?:6>95>95?74?74>63=52;62:5294194184184195484373243132021/6-.6-.6-.6-.6-.4..4/,4/,40-40-40-52-32-32-43.43.431431542540841850940:5/=60?6/@7.B8/C9/F90G:1H;2F<3F<3F<3F<3E;2C90B71A60@5/@51>50=4/=4/>42?53?53=82A64I35Q16V.6U-5R/5J22A62::08<.9;-?9)H6*P4)U3)]2+c4.k62t76}77‚89ƒ7978}75{:6|=8{?7@9ƒ@:…@;†?;|E0}D0€C0‚A/…=.‡;-‰:-ˆ9,‡8+…9+‚:+<+{>+x?+uA+tB+‹2,‹2,¡LE§XQŠA8|90‚F;€J>yH:zJ<{M@|NA~NB‚PE‡UJYN_uNgwRtzX€{^Š|b“i›s›—|™zˆ |ƒ¨¬ƒ|¬‚x¨~t£yq vŠpˆo†nƒŽp€p}px‹ms‡kk~bgu\_iQWZGPM<H@3B6*>0%:,+7,*5+)1,(-,'+.').((/().(+-*,,*/+*3)*6',7&,9&,2)$<3,E>4JF:QR@]bLgqVizXmƒ]j…\j‰]p‘bq•eo•do—eršhu krhq›itžlx¢rz¤vy¢vyŸvvštw™tu”rokj…fc|^UlOJ^BHA9@91;4,671782782782893893983:94:94=:5>;6?<7?<7@;7@;7@;7B:7B:7A96@85=84=84<73<73<74<74<74;74:6395284173080.80.80.80.80.80.61.61.61-52-52-52-63.63.54/54/540540651952:72=84=82@93?80A8/C90D:0E;1H;2I=1I=1H>4H>4H>4G=4F<3D:1B8/A60B71@70@72?61?61@72@72A83=84@85B86D97E:8G96G96E:4C90B90B:/B:-D;,F:*H;*H;*].&b0)n3/x73ƒ98‰;;Š<<‰>;‹A>†A<?6}=4~;3‚;5ˆ=8Œ>:~C3€B3€A2ƒ?2ƒ=1„<0ƒ;/;/;.|=.{=.|>/|>/|>/}>/}>/—.*£;8ÎkfÙ~yZTŒC<ˆLAN@tJ:qM=pQ?qR@tSB{VD‚[J‰_OUOe€Uz~[‘y_¥ra³of»rk»xo¶…vªz ›~•£€Œ¦ƒ¦~}¢yyŸvŒr‹rˆ‘r„“r€•t|–sv”ps’pl‹ig„eby\\lQU_GMP;ED0A<)>3-<3,92*41(01).1(+1'+0)/0*2/*6,*:*+@'+D%+G$+H#+A7+LC4WP@[XE`bLgmQiwVj{Wl‚[g‚Wf†WjŽ^n”an”an–bršfržko›hnšiqœnw¡sy¢vxžuu›ts—su—ts’pn‹li„cb{[TmMH`@MD=E<5@707827828938938939:4:94:94;:5>;6?<7@=8@=8A<8A<8A<8A<8A<8A<8@;7?:6>95>95=84>95>95>95>95=84<73:51940:0.:0.:0.91.91.91.91.72.61-61-63.63.63.74/74/74/540651961;83<94?:4@;5B;3A8/B90C9/E;1H<0I=1J>2K=2K>5K>5J=4J=4F<3E;2C90B8/B92B92A81@72@72@93A:4A:4?74>95=<7>?7?@8@@6D@5J=4J70N5.Q6-Q6+O8*M:+I<)H=)l3(r6,~;3‰@:•DA›HDŸJGŸLH QJ—MDD;„;2‚8-…7-Œ91;4…?7…?7†=6…<5ƒ=5€=4|>3y?3vA3uA3uA3y?3}=3ƒ:3‡83Š73Ÿ%$´<;í{zþ•’Åhc–G@‰K@wI:mN<gR=dU>fW@jX@r\E}aL„eQj{O{{U™w\´l`Ì^_ÚR\áM[àO^êmuÜxxÎ…~¿€²–€§—}ž•x˜“u•Žr”r‘‘u”u‡–u—s{–sx–rq‘lp‹hiadtW]gLVX@LJ3GB.L40H3.D3,?2*:1(70&40'40'81):/+?-+C++H(+M%-O$-Q#-PE1[P:d^FgfJilOnuTm{Wl~Vk„Zg„Vg‡Vm]p•ap—br™dvhrœlo™km—ip™mwtyŸxw›wt–us•tu”tsqoŠki„cb{[TmMGa>SJCKB;F=69:49:49:49:49:4:;5=<7=<7=<7?<7@=8@=8A>9C>:D?;D?;E@<E@<E@<D?;D?9C>8C>8D=7B;5B;5B;5B;5B;5B;5A:4A:4A83A83A83@72@72>71>71>71<71<71;60:5/85085074/74/761961961:72<71=82A:2B;1C:1E;1F<2J>2K?3L@2N@3N@3M@7M@7L?6K>5I<3F<2E;2E;2B90A81A81?80?80?82@93@93<5/LE?IB:E<5OB:K:2J3+\>6Z5-`5.`4+^/'\0%b8,g@1gB2‹I;G;–I?žLAŸF>›>7š=6žD;¥ND£QE¨VH«YK£PBš@5˜:0ž=4’9;9:Œ67†54„96ƒ@:{@8o?3oC6lB4m?2u:274Œ35’-3–(1ÏEEèbaÅEDÍWUáyv«VO†F<‚WGlS=f\CedFgfHgbEm_DyeL†nVŽdKp]ÍphÞW]å8Kð(Dü&Hþ+Lþ<WðG\éXeånrà|zÙ}ֆ؉‚¸„wµ…w³ˆx®‹x¨x£ŽyŸy›‘xŽ‡mŽƒm~i‰taƒgY{YMtLBpE<r;>d02b22\31L)'D'#I2,J70F5.E2,E0+H0.I-,I)*O+-V24VK/`W:f_BgdEkoLu}Xu„]oWj„WlˆXnŽ]q“`s•bu˜bušdv›eq–ks˜ms˜oq•os•rw™xz™zy–zx•yqŽrm‡jj„ghƒdazZTnKIc@TKBSJAPG>9:49:49:49:4:;5;<6>=8?>9>=8@=8A>9A>9B?:D?;D?;D?;FA;E@:E@:E@:D?9D?9E>8E>8E>8E>6E>6D=5C<4D;4D;4C:3B92B92B92B92A81A81@91@93>71<71;60;60:5/85.74-74-96196/96/;60<8/>:1A:0C:1C;0E;1G=1J>0L@2M?2NA1NA1N@5N@5M?6J=4I<3H;2E;1E;2C:1B90A81@91@91@91?;2?;2C:3G81I0,V..j68u99{;;†ECƒD?„H@…I?†G>ŽJA›NH£PL¥MK’E3”C2šB4 B6 >36-7+¡<0£C5›@.™@. E3¦F6©E5¯H9¸N@´KR¯GN¥@F™9=‘8:Š?<€A:r@5k?2uK=€NC@:‚,-“(0µ8FÒK\àJIáMMÌ>=Ã>?Ò_\µXQ„@5€UDvbJa]@Z_?ekIonOshJ{fK†kPÌ]VÚ][êSZó<Nü'EÿDÿHÿ!Kÿ(Nÿ.Nù9RöF[òM^ëO]êO]ëS`ÝakÛclÚgnØkpÓnrÑstÎvuËwwÌ{zÌwzËuxËotÊirËcnÊ^kÊ\iÆ`n´Ra¦JWšGQDK„FIk79FS2-L0,F2+I6/J91I;2M>7SD=]P.dY9ga?ifCnrMz‚[z‰bt†^r‰]oŠ]oŒ^qŽ^u’bw•cw•cw•cr’mw—rz˜vy–w~˜}ƒ„…‡ƒ›…™ƒz’|q‰ql„jhc`yYTnKJdAWQEVPDUOC8938938939:4;<6<=7?>9@?:@?:B?:C@;C@;C@;D?;D?;D?;FA;FA;FA;E@:E@:G@:G@8F?7IB:HA9H?8G>5F=4E<3E<3D;2D:1D:1D:1C:1D;2D;4D;4C<4?80?80<71;60:5/:5/94.94.96/96/96/;7.<8/@9/A:0C;0E;1F<0I=/K?1M@0M@0NA1M@0N@5M?4L>3K=2I<3H;2E;1D:0C:1C:1A:0A:2?;2@<3@<3A=4SE<P40g35AG°JWÇS`Ï[fÇ^c›B>–I?•MA›OB¬RJÃSRÏNSÒENœE2B0 @0¥?1¦:-¥7*¦8+§=/¬E4¡>+˜7$:%¥>+®@/³B2¹C5§/8±9B¹DL¾KR¸NRªLL“B>}:1u;/q9,s5*2-›47º<GØEWéLaåFCÒ41Ò:9À21ÉMKÈb]”J?‹\JzdLebCbfEpqOysS~iL‹iNœrZûW`úNZû@Qþ3Iÿ-Hÿ-Nÿ*Mÿ&Hÿ-Mÿ,Ký.Jü2Lù1Kù.Kû.Lþ1Oø=Z÷?[öB]ôFaòJcñMfïQhíSkêPhéOiéLgêKiîKjôLoùOsüQuþh…ô_|æZtÖUkÎYlÊdr¨R[r-0]''X1,T<2N@5?<-7:)<C1GP=[N,aW4e_=heBstR†d~ŒhwˆdxŒgsŒer‹cr‹ctcwfz‘gz‘e~•x„›ˆŸ… Š‘¤—¨–˜©™–§—‘¢’‡˜†zyn„mg~b^wYTmMKfCXUFXUFYVG7827828939:4;<6=>8@?:A@;BA<DA<DA<DA<DA<E@<E@<E@<GB<GB<GB<FA;FA;HA9HA9HA9LC:KB9JA8I@7H>4G=3F<2E;1D:0D:0E;1E;1D;2E<3E<3E<3@91?80?80<71;60:5/:5/:5/96/96-;7.;7.=9.@9/C;0D<1F<0F=.J>0L?/M@0M@0O?/O?/O>4O>4N=3K=2J<1G:1G:1D:0D;2D;2B;1B;1@<3A=4A>5A>5Q9/X+&‰:?ÅP`ãOeñOfíPcÐGO¢20”:/Ž?.–C3®F=ËFGÞ>Hã2B§H6§F5©B3®@3°?1²>1³B4´D6²G5«B/£<)¤;&©<(:(¯5&®3$¸7<»8>½7>½6=¿<BÅJMÄTS»ZT—@7ˆ6+….%œ62ÃHKÞNXå@Qà0Eß:4Ð-(Õ74Ê64ÈD@É\U©WKXFtX@rgIysS|qQhJdK©oYÂ~kÿGVÿAPú9Jû8Iÿ=Nÿ@Qþ:Nö5Hÿ@Sû:Mú4Ký3Kÿ0Jÿ-Iÿ-Lÿ1Sÿ1Tÿ1Tÿ3Wÿ3Wÿ6Zÿ9\ý;^ü<aþ@fü=fû<eû<gý<iÿ?mÿBpÿEsÿLuÿNuÿRvøPqëRnè`xÙdv·Wb|15h0/U3*L:,BA/:C.5G/5L2VH+_T6i`CokN||`ˆŽr‡‘v}‹qzq|s|szozŠm}Œmƒ’s‰–x•£Œœ©•£®¦±¡ª´©±¸°°·°´¡«¢” ”ƒ‘‚s„qh|c]tWSlLLgDVWEWXFYZH671671782893:;5<=7?>9@?:BA<DA<DA<DA<DA<FA=FA=FA=FC<GB<GB<HC=HC=JC;JC;JC9LC:KB9KA7J@6H>4G=1H<0G;/E;/E;/E;/E;1E;1D<1D;2D;2@9/@91@91?82<71;60;60:5/;7.;7.;7.<8-?8.A;/C;0D</G=1I=/K?/M@0M@/P@0O?/O?/O>4N=3N=3J<1I;0G;/F90D:0D<1D;2B;1@<1A=2A>5B?6C@7_4-t42¯KSâYiðH_ð:Qá2C½#+¬/)š9(;&•=)¬@3ÈA=Ý:?ä0;¨D4¨B3«?2®>2´?5¹C7½G;»J<¬>/ª?-¨=+¨:)ª9'²:*¹;-¼</ËEBÏCBÒ=?Ñ6:Ö7<àAFâLNÜRPÁD>ÃLDËTLÑTNÙKJÝ>Cã3>è.<Ù5+Û7.Ò0+Ò94Á82µ@9µ[P”UDxO9~dI„lPbF]F®eTÍqdÛsjü<Iô9Dì8Aç<DæCHäHKäJLåIMðLSïDMð:Iö5Hû1Gÿ-Fÿ0Jÿ5Pÿ7Vÿ7Xÿ7Xÿ8Zÿ:[ÿ<_ÿ>bÿ?eÿAiÿBkÿBmÿAmÿ@oÿ@oÿ@qÿAqÿBnÿ=hÿEmÿJpöGhíMièZrÛbs½YcŒ@D]($M-"PC2PR=CO76H.WH1eYCujT€{gŽy˜œ‹”Œ‡”ƒ~‰—ˆŽœŒ™ˆ‡’‚Š“‚—žŽ¤¨—²¶§¸¼®¿Á¶ÀÁ¹ÂþÅÅÃÃÃþ¾¾²´³¢©¢—Žy‡vh{e\sWTmONiHTYBUZCW\E560560671782893:;5=<7>=8@?:B?:C@;DA<EB=FA=GB>GB>GD=GD=HC=ID>IE<KD<KD<MD;LC:KC8LB8KA5L@4K?3J>0I=/G>/G>/F<0F<0E;/E;1D<1C:1B90A:2@91@91?82<71;60;60;7.;7.;7,<8-?8.A;/D</F<0H?0J>0K?/M@0NA0P@0O?/O@-P>2N>1M<2L;1I;0H:/F90C9/C;0B<0B;1@<1A=2A?3B@4C@7t50–FEÆY_ßUbã@Qä5FÚ0;À*+¯1%Ÿ9#•;!”: ¡=&·=.Æ90Ê2- :,¢:-¥9-¨6,°91¸A9»E;·E:?2«@0§<,¤6'ª6)·=0ÄD9ÊG=¾9*Î@4áD=ïA@ö<?ø7<ï05á-.Þ63âH@èTJåNEÜ=7Ü0.å.0ñ27Ö3$Þ</Í,"Ñ7/Á2,±6/Ég\¶m^ŒXC„\CW?‰R=©\LÑjaãfbáUTúAIñ>Dâ<@×?>ÎC>ÍJB×RMåZWéPRìELï;Gõ6F÷2Dø/Bû1Gÿ6Lø:Tø:Tø:Tû:Wþ=\ÿ?aÿBeÿDiû<eû>hú?júAm÷@nõ?oò>mï=mÿFnÿ:aÿ>dÿInÿJløMmòSoæXnëp‚Å_j˜ILt:6\6-O9+OD2SN:`PArdWˆ|p”Ž‚Ÿœ“¦§¡¡¦ ”˜”Ÿ›¨¤¦¯¬¦¬ª¤¦¥§§¥µ´°ÄÀ½ÍÉÀÒÍÇÕÐÌ×ÏÍÖÍÐ×ÎÓÑÊÑËÆÌ¿½À°²±˜Ÿ˜€Œ€m~k^u[VoQSlNU_DV`EWaF560560560560671893:94;:5=<7@=8A>9C@;DA<GB>HC?HC?GD=HE>ID>ID>JF=LE=MF<NE<ME:MC9MC7OC7NB6MA3MA3N@3JA2JA2I@1H>2G=1F<0D<1D<1C:1B;1A:2@91?82?82<71<71<8/<8-<8->7-@:.B:/D</F<0H?0K?/M@0NA0NA0P@0O@-O@-O=1O=1M=0L;1I;0G9.E9-C9/B:/A;/A:0?;0?=1@>2B@4@@4+)¨JKÁSV¾=BÀ/6Ç.3Ä./»0)ª1 £9!›=!–=˜= ¡=#¥;#¦6"6- 8/¢5.¦3,®71·@:¹B<²@6±B7A5¨</¦8+¯:0½B:ÄC=Ä@;Â@(Í?+Ù5)ä)$ñ #ÿ")ÿ'/ÿ-2ò((é.)ã2*ß4*à4*ä1*é0+î.+Õ6#×5&Ò2$Ð6,Æ6.½>7È`UÑq¤eSŽWC‡N:¡XGÊe[ãa_ëPTëBIùDKí@DÞ@?ÑB<ÅB8ÁB9ÌIAßPLìKPô@Kù9Hý7Hþ5Hø3Eö7G÷=K÷9R÷9Rø7Rú7Uý7Xÿ9]ÿ<aÿ=gÿ@kÿ@nÿBqÿDtÿCuûCuùCv÷BuÿFgúAaþEeÿJlÿJkÿUtÿ^zö\vôi~éo~Önw¯]a„CAh6/hB7vTHwf_Œ}v£–¬¤¡²®¶¶¸²µºª¯µ°·¿¶½Å½ÁÊÂÂÌÃÂÊËÅÏÕÎÖßÕÞäÙÕèÝÛéÝÝæÚÞåØßä×àáÔÞÙÏØËÄË»¹¼¤¦£ˆ’‡t‚qexb[tWXqS\iK\iK[hJ560560560560560671872983<;6?<7@=8B?:DA<GB>HC?ID@HE>HE>ID>JE?JF=MF>MF<OF=NF;OE;ND8PD8PD6PD6QC6QC6OC5MD5KB3JA2H>2G=1E=2D<1C:1C:1A:2A:2@93?82<71<71<8-<8-<8-?8.@:.B:/D</F<0I@1K?/M@0NA0P@0PA.O@-O@-O=1O=1M=0L;1H:/G9.E9-C9/A9.@:.@9/?;0?=1@>2??3@@4”67Á]_ÈZ[¯78®,,µ/,±,#°0#¯8$®B(©G* G'šF$šF$–C!”? Ÿ81£;2¦92¨50°:6¹B>¹D=±>7«<3¨<2¦</«<1¸F<ÆKDÄE>»72»:Ê<$á:*ñ.(ÿ$&ÿ'ÿ'ÿ%ÿ%(ù,)ñ2*ë5*è3(è2'ê/&ì-%Ü=(Ñ2Þ>0Ñ5)Ê7/Â?7¯C9Çqd²m]–YF™VE¿i\ÝlfãSSë@Hù?Lï<Bä:=×<:Í@9Á>4¹6,½4.Î44ïBHø8Gÿ2Fÿ3Hÿ5Iú7Gö<JöBNÿ>Yÿ=Xÿ:Wÿ6Wÿ5Yÿ5\ÿ6_ÿ7eÿ;kÿ:mÿ;oÿ<rÿ<rþ=tû>tû>vôEbýNkÿTqúIfð?\ÿRqÿfƒÿf€ô^wêbváky×s{Ärvªfe”ZV‰TN’€~¨™–¾°°Ä»¼ÆÁÅÈÇÍÅÈÑÀÄÏÆÌØÈËÚËÍÜÓÐáÚÖåäÜëêßïîáòòäãõççöçêóâèñàêïßêìÜéå×äÓÉÒþĪ¬©—y‡vi|f`w[\uWbqRapQ`oP201312423653875984984983;:5<<4==5??5AA7CC9EE9EE9HH@HH>HH<HI9KJ6LK6MM5MM5LK7IG8EE;HGELIPKIWFCVA=TQF4NC1JA0KB1MD5LB6F>3B90E<5C:5@85?74@86?67>56:44F85E76B87@78>:;<:=<<>==????A@<DA:HB6JA2M@-P?+O?(CB0F?/K:2O62Q35Q28N5;F:<??=-=3)A1.J4/G-,?#5B&GP3Ô`S»J<§7)¢7'£:'ž9%ž;&£@)Ÿ;$£='¬?+¯?+²:)±6&³4%´2$Ÿ8'Ÿ8'Ÿ:(£>,§B0©D2©D0©B/¨?,«>*<*µ=-¾C4ÅF7À>0·3&Í6+Ì8,Ì:-Ì=/Ï=.Ô</Ý90æ5/ï/,õ--ø.,ó0,ë4,à9)Ø=)Ó>(Þ9%Ô4Ï4 Î9%Å8&¾6&Æ@4ÕQEÒIAÜMIïUUüVXýJPø9Aü4?ÿ9DäCHßCFÓAAÆ?;¹=3®=/ª?/ª@0¿Q@ÉQCÑLCØC=å??÷@Eÿ>Gÿ8CúGMúENûEQþESüARú=Sü>XÿCbÿGiÿBhù<fô;gô=køDsûIyýK}ÿMyýNwóRtçTqÝQkáQlø[xÿdˆÿY…ÿ?lÿMxöX{ÍYp¿yƒca„}sª½§™ÑŹÚ×ÎÛÝÚÙÜáÞÜéåÙíëÔîôÓðùÔóýÙóüßóøæòõìñóïðøõðøõð÷òïôîîðêêíäçèßäæÝâÖÐÔÍÉÊ»¹º¤¤¢Š|zt|qpzo~…sy€nv}k0./1/0320542653762873872:94;;3==5??5AA7CC9DD8EE9HH@HH>HH<JH9KJ6LK6MM5NM8KJ6KI<KJEQORWU`ZWhVTjQNiSI@ND;H?6F=6G>7H?8F=6C:5C<6A:4?74?74@85>95=84;63>3/=4/>42<74=98<;9=<:>=;@?;C@9G@6J@4L@0O@-P?+P>(=B,?A,E=0H92K63J46F35A57>=;8=69?5?A4C=-J9)^B4sRC¼K=¬;- 2#¡6&£:'8$ž9%£?(¡;%¦=(@,³@-¶=,·9*¸6(¹5(¦;+¤:*£9)¥;+¦?.©B/«B/«@.?.«:(±<+¿E6ÆH9Á?1¼8+½7+Ï5+Ï7,Î:.Ï;/Ó=/×;/ß8/ç4/ð0-õ--÷-+ò/+ê4)ß8(Ö;'Ï=&á:'Ù7"×8%Ô=*Ì;*Á5&Ã;/ÍG<ÐG?ÙJFèPOóPQôGKò;@÷:Aÿ?GàDGÜDCÓB?Å>8·;1¬;-ª<-©>.µF5ÅM?ÓNEÜGCã?@ñ>Bý>Fÿ>H÷DJ÷CLúDPÿFTýBSú=Sü>XÿBaÿFhÿCiü?iù@lùBpûGvüJzþL|ÿIxÿHtõKpðRsò]zö`{ùXwýMqÿCkÿAlóCjÝJgÉ^p®pugNI†‚v´”‡Ì²¥äÔÇëäÜèéäéêîéçòíáõöâûýàüÿâýÿçþÿìÿÿòþÿ÷üþúûþûöýúõü÷ôúôôøïðôëîñèëïæëäÞâÜÖØÊÆŲ²°ž ›Ž“Œˆ…ˆ…–†‰€†}/.,0/-10.21/43/540762761:94::2<<4>>4@@6BB8CC9DD8IF=IG;JH;KJ8MJ7NL7NL7OL9KI:NKBTSQ_^dihxmm…lkŠihˆcYd[QZQGPJ@IH>FG>CC=A@:<A;;?:7<73<73=82>:1>:1=90:3-94.;60=82=:3>;4?<5?<3C?4F@4I?3L@2O?0P?-Q>-P>*3@&7?'<=+A;-B8/A62>42;31=85B:7H94O2.[+)o-.Š:= EJª9+¢2$Ÿ1"¤9'¥<)ž7$8$¢<&¤;&¨=)±A-¶A/¹>.»<-¾:-À:.®>0¬<.©9+¨:+ª<+¬>->-¬=,²?-®9(¸>/ÊL=ÊH:¼6*º2&Å;0Ó5*Ô6+Ò8,Ô:.×;/Û9.â7/é2,ñ/-õ.+õ.+ñ0)ç2'Ý6&Ó8$Ì:#à7$Ü5#Û8'Û>-Ó=.Æ7)Å8.ËA7Ç<5Ì?8ÙEAåKIìIJëCCí?Að@CÜDC×C?ÏB;Â=4¶:.9*ª;*«<+ª9)¿E8ÔNEÝIEâ?@ë<AùAIÿFPôAGô@IùCOýGTþEUû@Uü>Xÿ@_ÿDfÿCiþDmÿFpÿIwÿK{ÿL|ýK{ÿCvÿGwÿJtúNtþZ|ÿa€ýUvòCdüHkÿRvÞ=\ÎH`Úz†µ}~\F;„r³‹Õ³§óÛÑúíåøóðøøú÷ôýôëüüêÿÿéÿÿëÿÿíÿÿòÿÿ÷ÿÿûÿÿýþÿþúÿýùÿûøÿøöþõöýòöûðôúïóðçêåßáÓÏξ½¹®¨¢¥œ£™£—¤ªœŸ¥—œ¢”/.,/.,0/-10,21-32.54/650872991;;3==3??5AA7BB8CC9IE<JF;KG;OI9PK8QL8QL8OL;LJ=SPK^]bmlzzz’£€‚©~«|u–rkŒe^}YSoRMdMEZG@PB<HD?F@;?<87;62;7.<8-=9-<8,880991;;1><0?=1@<0?<-A;+F?/H?.K?/M@/O?/P?/Q>/P=.<@)=?*?>,?<-?;0=:3;:5:94<94D95N43[*-o&--8¨3C¶7H§7)¥7&§9(ª?-¨?, 9&Ÿ9#¤;&¥:&«<)³>,¹@/½>/Â<0Å=/Ç=0¹@5¶=2²:,®8*¯9+°:,²:,²:*¶;,¹;-ÄB4ËE9Ç?3¾1'À2(Ê:1Ú3+Ø4*Ù7,Ú8-Ü8.ß7,æ3,ì1,ó0,õ.+õ.)ï0(æ1&Ú4$Ñ6 Ê8Ü/Ú0Ú4$Ý;,Ø</Ð9.Ï<2ÒC;Ã6/Ä70Ê;5ÖE@âMIåLGÞC?Ù;8ÑA9Ï@8Ç>4¾</µ:+°8*®:+°<-¬4&½?3ÏHBÙHEßABæ@DôELÿLUð?Eð?GöBKþHUþHWüBWû?Wý@\ÿBbÿCfÿFmÿIsÿMyÿO|ÿL{þJyÿ@tÿL~ÿQ}ÿJrúLoÿUwÿUuùLjòEcïKfÒ>Vßetû §Í‘]=2aP@©wlÑ¥œöÔËþêãÿôòÿþÿÿüÿùóÿüïÿÿïÿÿðÿÿòÿÿôÿÿ÷þÿûýÿüûÿýùÿüøÿúøÿù÷ÿö÷ÿôøÿôøþó÷öëïìãäÚÔÔÉź¹´³´¬±´©²µª¶¾³°¸¬´©10,10,0/+0/+10,21,43.54/77/880991;;1==3??5AA7BB8KD:LF:OG:QJ:RK9SL9RM:QK=OKBVTUfdowx††¨»“ÃŽ‘ÆŠÀ‡‚¸{w©rlœid_[~UPnNJaJGXEBM?=B;7696196-86*86)581692891;;/><-?<+C<)D<'I>*J?+L?,M@/M@0M?2M?4L>3M?4K?3F<2B90=909:25<44>57<5>:1H3.\0/{48œ;D¯9E²2Aª<+ª<+«@.¬A/©@-¥<'¥<'©>*§8%:'µ<+¼=.Á;/Å;.Ê<0Ì<1ÁA6¾>3º:/·7,·7,¸8+¸8+º8+»7+ÇA5ÍC8Å8.Á1&Æ3)Ë7-Í6-à2+ß3)á5+â6,ã5,ç4-ê2*ð/*ö/,ø.*ô/)ì0'ã1#Ù4!Î6É7Ú/Ù/Ù2"Ù5)Ù9-Ô:0Ö?6ØE=ÕF>Í@9Ç<5Ë@9ÖKDÙNGÐF<Å;1Å=1Ä<0À</º;,·9*´:+µ=-¹?2µ9-½=4É@:ÒC?ÛBDãDHîIOöOVí>Cí>EóBJûJTÿJYýFXúCYýB]ù@_ûBdþFjÿJsÿOxÿOzÿLyýIxÿGwÿRÿQ}ÿIqûImÿStÿVtøNiëD^äF]èYkÿ—¢ÿ¶¼î žˆKFd2)©jcÍ–ôÇÁÿãÞÿòðÿüýÿýÿú÷ÿý÷ÿÿöÿÿöÿÿøÿÿùÿÿüÿÿýýÿýúÿüøÿûøÿúøÿø÷ÿ÷øÿõ÷ÿôøÿôøýñóóéêäÜÚÖÑÍÍÊÃÉÉ¿É˾ËÍÀÇÑȾȿ·Á¸84163.52-30+30+41,52-63,85.96/:70<90>;2@=4B?6B?6KC8ME:PF:SJ9TK:UL;SL<RL@QLHZW^kj|~Œº–™Î˜žÚ™žÞ™˜Þ“’Ö‹ŠÌ†„Ã~·xv¨ml–fe‡]ZwVTiMKXDAH><=;:6;8396/267465672880<:-A<)D>(G?(I?&J?)IA,JA0IA4IA6HA9G@:R9<N8;I68A57:65384.93+;12?517+=3'X:0{D=•GCž>?ž46§<*¨=+ª?-ª?-©>,©>*¬?+¯@-«8%²9(¹:+¿:+Ã9,É9.Î:0Ò;2É>7Æ;4Ã81Â8.Â8.Ã9/Â8.Ã6,Ä7-ÑC9Ò?5Ä0&Ã,#Ð7/Ö<4Î4,æ1*æ1*ç2)è3*ê3+í2+ð/*ó.(ø.*÷-)ò/)ì2&ã3$Ø5"Ï7 Ì7Ü5#Ù3#Ø2$Ö2&Õ5)Õ7,Õ;3Ö?8ìYRáRJÓHAÊD;ÉF<ÊJ?ÅG;½?3¼;(¼;(º;*¹:)·:(¸:+¼>0¿A3ÁA6Á<5Å<6ÏA?×EEÝGIãJMèMQëADì?EðCIúJTþN[üJZüF\üF]øA]ùBaýEiÿJpÿNwÿOzÿMxÿKxÿR{ÿR{þOvýOtÿVwÿ]{ÿSoîD^øUjîQd÷dtÿ’žÿ‹“òƒ‰Ç`cKL²keÏŽˆñ¼¶ÿÞÙÿðìÿúúÿüþýûÿüûÿþûÿÿûÿÿûÿÿüÿÿûýÿûûÿûøÿûøÿüùÿûùÿûúÿøúÿöøÿòõÿðóûìïòææçÝÛßØÒÛ×ÎÝÛÏàÞÑàáÓÚãÞÏØÓÅÎÉ<94;8385052-41*41*52+63,74-85.96/;8/=:1?<3A>5B?6KA7MC7RF8UI9WK;WK;UL=SJASJK[Xcnl‚‚‚¨‘”Çš Þž§ì¡©ò¡¤óž 홛敘ߔ•Ö̈‰¿‚ƒ±zz rq‘fd|XWiPN\IGRFCJDBG=?K==G;:?;:8<92A;-D=*F@*F@(GA)GB.ED2CC7BC=AC@>BAG9HH<JG?LGDODGN@JL;II:ID?KA<@2F=.bH9QB‰K<Œ@2Ž;-¨=+©>,©>,ª?+@,¯@-°?-°=*±8'¶8)½9*Ã9,È8-Ì8.Ò91Õ;3Î;4Í:3Ë81Ë81Ì92Í:2Ì70Ë6/Ó<3Õ>5Ò91Ì2*Ð3*Ù;2Ú<3Ó5,è0(é1)ì1*î1+ñ0+ò/)ô-(ö,(÷-)õ.)ñ0)ê2(â5%Ù6#Ò7!Í8 Õ8%Õ8%Õ5%Ñ4%Ò4(Ô6+Ô7.Ð7/ãNGèXPçZQØRIËH>ÃE9¼B5·?1¹<&¹<&¹<(¸;'¸9(º;*À>0Ä@4ÉD;Æ?9É@:ÑFCÕIHÖHG×IHÛJMìCFêADíDIöKSüQZýN]ûL]üJ`öD^÷DaùFfýIlÿNuÿOxÿOxÿNyðYzðWvóVuüYxÿ]{ÿZuûQkòI`ýWköUgêN\ö^kâKZçSaçSaåQ_¸jfÉ‚~窧ÿÓÑÿëèÿôòÿøùÿÿÿùýÿùüÿûüÿüüþüúûýùøüøõü÷ôÿú÷ÿûøÿüúÿûúÿøøÿòõýîñúëîðââëÝÝäÙÕâÙÒæßÕëçÛñîßóñâêóðÜåâÏØÕ@=6=:3:7074-52+52+52+63,74-74-96/;8/=:1?<3@=4A>5M@7OC7RF8WJ:XK:YL<WK=TICSJM^Xfpmˆ‚„‘–Íœ£ç£¬ù¥°ÿª±ÿ¦«ü¡§õž¤îŸ£ê 㙛ؕ–Î’’ĉˆ´yyŸji‹`]|XUpSOhPLcMJeKG^FBS@=H?;<?:4B<0A>-C@-CB.BC3AE7>E=<EB;EF9DF:D]@JcHTjR]oXdt\fp]dj`ac`[W]LDgI>€UE’YFL7A+“A+«@,®A-®A-®A-°A.²A/²=+°7&µ7(¼8)Â8+È8-Í6-Ñ7/Õ8/Ù;2Ò73Ñ61Ñ61Ò72Ô94Ô94Õ81Ó6/ÞA:Ö8/Ñ3*Ø7/Þ=5Þ=5Û8/Ù6-ë0'ì0'ï0(ò/)õ.)ø-)ø+(ø+(ø-)ô/)ð1)é4)á5'Ù8&Ó8$Ï8#Í8$Î9%Î7$Ï6&Ð7)Ô8,Ó7+Î4*Ì3+ãNGôd\ë`YÔOFÂB9¸<2´:/·?&¸>&·=&¸;%º9&½9*Á;/Ä>3ÌC9ÊA9ÎE?ÕKHÓLIÎGDÌFEÐJIéFGæCDéDHòMSùRZùR\ùN^úOaõG^õGbøGdûIiÿNrÿRvÿRyÿRyå[uë\xõ`}ü_|øUpõMgùPgÿYnÿ[mÿbsóL]úSdøM_ÿRgüI_ýE]³d`¾tqÚš˜ûÈÅÿåãÿîëÿõôÿÿÿûÿÿùÿÿùÿÿúÿÿüþýýüúýùöýøõÿøõÿùöÿúøÿúùÿööþððøêêõåæìÜÝèÚÙæØÕèÞÕðèÝùóåþûêÿþíòûúâëêÔÝÜA>5@=4?<3=:1;8/96-74+63*52)52)63*74-:70=:3@=6B?8J@6OC7RF8VI9WJ9XK;ZL?[NHTIMXR`gd|}©’Ì—Ÿçž©ù¤°ÿª³ÿª³ÿ¬³ÿ«³þª±ùª®õ¨«î§«êŸ¡Ü™šÒÁ±ur¡he’]Z…XR~YP{YQxVOpOG_E?M?:@?;8@@6>>2@B5@F:>E=:C>9CB<GI?MP:YvKh†[udunx‘|zq‚|`n†]eX[œXU¥WM¥M?A,š:"Ÿ;#©<(«>*®?,±@.³@.´?-¶=,¹;,º6'¿5(Ä6*Ë7-Ñ7-Ö8/Ú91Û81×84Ø95Ù:6Ú85Ø61Ø61Û83Ý:3æC<à=6Ú70ã@7þ[Rÿlcÿ]Tã@7é1'î2)ò1*ô/)õ*&÷'%ø(&ú*(ø-)ó0*í2)ã1%Ú0#Ó1"Ò5$Õ:(É=&É=&Ë=)Ï<*Ñ;,Ò9+Ô8,Ó6-Ú@8Ð71ÜGAôc^ãXQÉB<Å@9·3.´<#¶<$¹<&º<&½:(¿:)Ä<.Ç=2È>4ÌC;ÙPJßXTÓOJÁ@;¿@:ÊKEäFEäFEèJKïPTòQWïNVïKVñL\ùRdøOf÷Ke÷JfüMnÿRsÿRvÿPtê[wêZuðZuú[wÿ]xÿZsÿWnÿViÿctþVgÿ\mÿYlõDXùBXÿMeÿIb·nhhcËŽ‹èµ²ùÑÏÿêéýïîúù÷øþüøÿÿøÿÿøÿþúþýþþüÿûøþöôþùõÿû÷ÿùöÿöôÿööÿõõöèèç×ØäÔÔÞÐÍãÖÐñçÝüôçÿøèÿüéÿÿí÷ÿÿèñðØáàC?4B>3A=2?;0=90;7.:6-95,73*73*73*83-:5/=82@;5B=7I?5LB6QE7UH8VI8YI9YK>ZMEUKLXP_ebyz¦‰É”œäš§ö ¯ÿ«´ÿ¬µÿ·ÿ¯·ÿ¯·ÿ¯¶ü¯³ú¯²÷§ªí¢£ä˜˜ØŒŠÉ€~½uq®ie¢b^›cVŽbU‹]TƒWOtNHdFCTBAIAAA;=8@C<DG@BD??A@BCGMNSWW_Vl“gyŸw¥€€¢Ž œ}œ£qŒ¥_w¯XkºTa¾OU¼FD¶=4±9(±:$°<#§8%¨7%©8&:(°8'²9(µ7(¹5&»3%Â4(Ë7-Ó;0Ù<3Þ=5à;5à;5á>9ß<7ß<7â=9æA=èC=éB<èA;ç@:èA9ä@7Ü8/Õ1'Ø6+ëI>þ\Qô?4î6,ê+#î)#ù,)ÿ./þ,-ø((ú0.õ4/ï7/ç6,Ü4)Ö2&Ó3%Ò5&Å='Ç<'É<(Ì;(Í:(Ï7)Ï6(Ð4(Õ8/Ï5-Õ<6åPJçSOÛLHÏA?º/,¹=%º>&»='½<'¾9(À8(Ã9,Ä:/È>4ËB:ÕOFÜWPÒQKÃD=¿B<ÆKDáIFáIFåMLëSRíTVëPVéNVìOZ÷VføUhùSiúRküRmÿSqÿStÿRsïNoøTvÿ\|ÿ^{ÿ[vÿUoýQgûReüUføQbÿZhÿZjôM^úRcÿWiôI\§ha™\W·€{Ù©¥ïÇÅýáÞùêçýøõøýùøÿÿ÷ÿÿöÿýùÿýÿÿýÿûûÿö÷üùòþùõþùõþöóÿ÷õÿõõøêéêÜÛäÖÓÝÐÊáÔÌïåÙüõåÿùçÿýéÿÿì÷ÿýèñîÙâßEA5EA6C?4A=2?;0=9.<8-;7.84+84+73*83-:5/=82?:4A<6G>5JB7ND8RF6TG6WG7YI:YKBWKKXP[b^wsuž…ŠÂ™Þ—¤ó¬ÿª´û¬¶ý®¸ÿ±¹ÿ²ºÿ´»ÿ³ºÿµ¹ÿ¯²ùªô££ë™—àŽŒÕ‚€Éxt¾qm·l`¢i]dY“^V‡VQyNKhEDV@@J76;?=>HBBKABN?BYFJmX_}fnt¤}¬§‚®¬}§´w ¾p—Âc…ÃRpÅE^ÔI\×EPÊ9<¾3,»7(¸;%³; ¯<*¯<*°;)³;*·<,»<-À<-Ä<.Ä6*Ë8.Ô<1Û>5á@8á>7à<3á:2Ü73Ù40Ø3/à93èA;ìE?êA<å<5ã<4Û4,Ø4*Û7-Ô2'Ì, Ö6*èH<÷I>ò@6ï4-ð-)÷+*ý+,ý+,ø*,ñ))ì/+è3,â5.Ü4+Ö2(Ô2'Ô2'Ç:&È;'Ê<(Î;)Ñ;*Ò:,Ô8+Ô8,Ñ4+Ø;4Õ:5Õ<7çONîXYÙEEÅ02¾=(¿<(¿<(¿:'Á9)À8*Á7*Á7,Æ>2ÇA6ÏJAØUKÑRIÄH>¿E:ÃH@ÚIDÙHCÝLGäSPåSSâPQâMQåNWòXdöZhý[pþZrýUoûQlýPnÿRpÿFmÿOvÿZ}ÿ[{ÿVqÿSkÿVkÿ[mûYhúYhü`mö`kî\fñenífmÚT[’cY}ND™lfØ’ß¹¶ñÓÑôàßþöôøú÷÷ÿý÷ÿÿöÿýùÿýÿþÿÿýÿÿ÷ûúúòüùôüùôýøôÿùöÿøöùîìñãâçÙÖÝÐÈÜÒÈîäØýöäÿûèÿýçÿÿè÷ýùêðìÝãßIE9HD8FB6D@4B>2@<1?;0>:/:6-95,95,94.:5/<71>93@;5E>6HA7LD7QE5RE4UF3WG7WI<XMIXNW_Zppp–€†ºŒ•Ö”¢íšªø¨°ø©±ù¬´ü¯·ÿ±¸ÿ²¹ÿ´¸ÿ´¸ÿ®²ü«ø¥§ôŸžì—–䌋قÏ{zÈxl´pf«h_ _Z’YW†QQwGGc@?Q<6DF9BS>C_@EmDJ€OU•]f¦jrÇe˜ÍkœÏl›Ïf‘Í]…ÎTyÌFgË8UÌ0Hß>PäBMÔ:<Æ7/Ã@.ºB*®<!5$5$®5$±6&¶7(¼8)Ã;-È</Ó@6×@5Ú@6Ý?6ß<5Þ:1Ý6.Û4,Ò/(Ò-'Ó.(Ú3-á:4ä;4á81Ý4-Ü5,Ò+"Í)Ù7,âB4Ü?0Ð4%Ê.éF7óI<ýH?ü<9ö,,ó"%÷&)û/2ñ-.ë/-ä2.Þ3,Ù2*×0(Ö/'Ö/)Ð8*Ò9+Ô;-Ö=-Ú>/Û?0Ü@3Ü@3Ò6*èKBåJEÎ50àFFóZ\áHKØ?BÆ=-Ä;+Ã:*Ã:*Ã:*Ã9,Á9+À8,Â<0Â>2ÈF9ÏOBÎPDÄH<¿C7¾D7ÑF?ÑF?ÕJCÛPKÝROÙMLÚKMÜKPëX`ó[hüaqÿauûWoõOgõMgúPkÿJuÿOyÿSwÿRqÿSmþ[pÿcuÿixÿguüaoôbmìelàglÔjjÉjh¼c_dVeH:_Tª‡Í«©åÇÇïÚÙÿóóùøöøþü÷ÿÿ÷ÿÿûÿÿÿþÿÿüÿÿ÷þûüôúûóûúõþûöÿýùÿûøþôòøíéêßÙÞÔËÝÓÇíæÖÿøåÿþèÿÿæÿÿçõúóêïèáæßLI:KH9JG8HD8FB6D@4B>3A=2=9.<8/;7.;60;60<71>93?:4B?8EA8JD8NE4PE1TE0VG4XH9ZMEVMR[Whkl‹~‚²‰“Ð’Ÿå™§ò§÷©¯ù«±û³ý°´þ°´þ°´þ¯³ý«®û¨«ø¥§ô ¢ïšœé“•âŠŒÙ„†Ó…É{u½mjdd _a”X[†QQsNHbUFY_CRlBLEO˜LV¬U]¼[dÅ]fçJuéNxæPuàLn×FcÒ?YÍ5JÊ+?Ú5EçAMéFKÙ><Í>6ÊH8¿J6°B)·>-¸=-º<-½>/Ã?2ÊB4ÐD7ÕE:ÙE9ÚB7Û>5Û:2Ù6-Ù5,Ú3+Ù2*Ô1*×4-Û60Ý90ß80Þ7/Ý6.Ü5,Ö/&Ù5+Ø6)Ï2#Í1"Ò9)Õ>-Ó<+Ö=-æD7÷KAÿD?û56÷)-÷)-ù.2ø67í55â30Ú1,×/,×/,Ù0-Û/-ã80â:1â:1â<0à<0ß=0Ü?0Ú>1Ñ7+ïWLù`XÓ;6Ó;:èOQÞEHèOTÍ=2Ê:/Æ8,Æ8,Æ:-Å;.Ã;-À:.¾:-¾<.ÁB3ÇH9ÇI:ÂD6¾@2¼>0ÊE<ÊE<ÎI@ÕPI×RMÔNKÓKK×LOçZ`ð^hüfrÿhxü]qóOgóMeùQjÿPzÿQxÿQpûSmø\qûhxûjw÷epüfró_kí_kêkrÝsu¿lh¦f\¡l^ujXVI8kXJ–{t¾ŸœßÁÁïÕØþîïûõõúüûúÿÿùÿÿýþÿÿýÿÿûÿÿ÷ÿýÿ÷ûþõûüöÿþùÿÿúÿþúÿûõÿ÷òñèáäÜÑáÙÌðé×ÿúæÿÿæÿÿãÿÿäöùðíðççêáQK=PJ<OI;MG9KE9IC7GA5G@6B;1A:2@91?82?82?82A:4B:7@?:EB;IE9MF6PE1RF0UF1WG7YLCUKLZTbii…|«‰’É“žÞ—¦ë¨«ú©¬û«®ý°ý®±þ®±þ°ý°ý©÷§«õ¤¨ò¢¦ðŸ£íšžè•™â‘•Þ’’Ú‰‰Ï|€Àrx´nu«lpŸhhŽj_x`x‚WjO_¥OZ½R\ÑR[ÚOVÛHPñ:Pî=QéAPàCLØCIÑ?BË9:Ê45åIJèHHã@AÕ76Î93ÌB8ÅE8º@1ÃE6ÃE6ÅF7ÉE8ÌG8ÑG:ÖH<ÛG;Ö>3Õ;1Ö8/Õ4*Ö3*Ø4+Û4,Ü5-Ú9/Ý<2à=4ß<3Ý90Ü5-Ü5,Ý6-Ò.$Ý;.Ü<.Í1"Å.Í8$Ð=)Ì;&Ë:'Ò9+á:1ó=9ÿ@@ÿ;?ÿ27ô+1ê,.ß+,×+)Ó+(×/.Þ44ä88è:;ó55ò64î73é6/ã7-Ý5*×5(Ñ5&Í5'çPEÿmcÛHAÈ42×CCÓ>BêUYÙB;Ô=6Ì70Æ6-Ç9/Æ<1Ã=1Á=.»9)»<+½@.¿B0¿B0¾?.¼=,»<+ÃC8ÄD9ÈH=ÏPGÒSLÐOIÐOJÔOPç_cîaiûitÿm|ÿdu÷UjõRgýWoÿSxÿUtûWpð_pñoyôy~êmsÞXaïamò`mïaoðs{숊ɂ|¥wjšyhhpYMO:^WGƒqg±•’Ý¿¿ñÔØýéëþôõýûþûÿÿúþÿýþÿÿýÿÿûÿÿöÿüÿøùÿõúýôÿÿúÿÿúÿÿúÿý÷ÿþöùðçíåÚéâÒôïÜÿûåÿþåÿÿãÿÿâøúíòôçîðãSM=RL<QK=OI;MG9KE9JD8IB8E>4D=5B;3A:4@93A:4A96B:7@A;CC;IE:NG7QF2RF.UF/WH5XJ=RHFXR\jh€}§‹’Æ’žÚ–¤å¥¦ù¦§ú©ªý«¬þ¬ÿ®þ¬ý«®û¨¬ö¦ªó¤¨ñ£§î¡¨î §ë¤è›¢æ™žâ’šÛŠ”Ò…Ê‚ŽÂ‚‰·‚©‡yšŽmˆšczªWi¾P]ÓKWäGPí?Hñ9Aî;6é<5âB6ÙH7ÎJ5ÅG1ÂD.Å@/ãUGàG?Ú;7Ø64Ø88Ö:;Ï98Ê66¼=.¾<.¿;.À;,Â8+Ä6*Æ3)È1&Í5*Ð3*Ñ3(Õ2)×3*Ù5,Ý6.Þ7/Ü>3Ý<2Ü;1Û8/Û7.Ú6,Ø4*×3)Õ3&Ó3%Ñ4%Ï6&Ò=)Ñ>*Ê9$À2Æ;(È5%Ó3'ç60ü;<ÿ=@ÿ7=ù27ê-1à..×--Õ0.Ü44ã9:é;=ë;>ý.4ú/3ö01î1/æ1*Þ2(Õ1%Ï3$È2#Ð>/új_ãTLÈ95Ð@@Ë:=ãRUçJEÝB=Ò93Ê5.Æ8.Å;0Â<0¿=-¹<*¼?-½@.¼?-º;(º;(½<)¾=*º>2º>2ÀD8ÈLBÌPFÊNFÌMGÐNLçbcêbføhqÿo{ÿhxøYm÷Ujþ[pÿXsü\tìbqãktç€í‰‡ãyyØ_dñhrÿl|öcsíkwø‘•é¤ŸÀ–Š¥‹z\pWFR<UVFtg^¤ŒˆÜ¾ÀóÔÙùâèÿóøÿúþýþÿüýÿýüÿÿüÿÿúÿÿôÿûÿøøÿõ÷ýóýÿùÿÿúÿýöÿý÷ÿÿöÿùïõïãòìÜúõáÿþçÿþâþÿàÿÿãýþðùúì÷øêUO?TN>RL<PJ<NH:LF:KE9JC9G@6F?7D=5B;5A:4A:4B:7C;8@A<DD<IG;MG7OG2RF.VG0WH3VH;RGCWRYjh~~‚§Œ”Å’žØ–¤ã¡ž÷£ ÷¦£ú©§û©ªýª«ýª«ûª¬ù§«õ¥©ò£§î §ë¢ªë£«ì¢ªë¡©è˜¡ä–¡á”ŸÝ“ŸÙјǒ‘¹™Š«‘m‰£c{´WjÇM\ÚBNë;Eø6>ÿ4:èB*âD)ÙH)ÎN+ÃO(¹L%¶H%»D&ÛWBÚF8Ú;5æ>>íBHé>Fß5>×08ÈF8ÇE7ÈD7ÉA3Ç=0Æ8,Æ3)Ç0%Ê0&Î1(Ó2(Ö3*Ù5,Ù5,Û4,Û4,áC8Û=2Ø7-Ø7-Ü:/Ý9/Ù5+Õ1'Ù7*Ð0"Ì0!Ð9&Ì9%Æ5 Ç9#ÑE.Á:&É:)Õ7+â3.í//÷05þ5;ÿ;BÿIMúGJîDDæ@@ä>>ã9:ã28á.4þ'/û(/ø*.ó-.ë0+ã2*Û5)Ô7(Æ0!¾/óeYê]TÌA<ÓEDÊ;=ÝNRïPMäFCÕ:6Ê5/Æ8.Ä:/À</»<+»>,¼A/½B0º=)·8%º9&¾;)Á>,²8+²8+¸>1ÁG<ÅK@ÄIAÆICÊJGå`aæ^bñdlÿlxÿix÷ZköTiýZoú^tòcuãgqØqrÝ…é”ꋇåruùq{ÿxˆõ`sßXgóŠ‘ý¶´Ö«¢¬•…TnSAS;PTCkaWž†‚Ý¿ÁõÖÛøßåÿóùÿûÿÿþÿüýÿýüÿÿüÿÿúÿÿôÿùÿø÷ÿôöüòüÿøýþøüüôÿýöÿÿöÿþôûõç÷ñáüúåÿþåþýáýþßÿÿãÿÿñýþîüýíXO@XO@WN?VM>TK<SJ;RI:QH9MD5LC4KB3I@1H?0H?0H?0H?0FC<GE9JG8NI6RJ5UJ4UJ4VK9XNDULMXTbii…{~©‰ŽÆ‘™Ú— 妢ù¦¡û¢¡þ¡¡ÿŸ£ÿŸ¨ÿ «ÿ¡ÿŸ«÷ ªï¡©ê§¨ë«¨ï²§õµ¦ù¶¤ú—«ÿ“¨ùŒ£ç£Ö¢¦Ë´ ¹½„“ÆbnÑEPé:Gõ5Bø4>ñ8>æ=@ÙD@ÑHBå;Dà;BÞCGÉ99ÌB@ËD@½/-ÞHIëHKîAGï;Dì8Aé:?â<>Ú<;Ô<9ÏA=É>9ÊC=ÑLCËK@¼>2³7+¹;-¹9,¾8-Å7-Ê3,Ï0,Ô/-Ý11á34çA1à9)Ü1 á1"é8(ê;*ã6%×2Ñ2Ì4Ê5Ç4 É3"Ì3%Ñ3(Ô3)Í.(Ï2+Î6+Ì8*Ë8(Í7&Ð7%Ø6'ß3'é2,ð31ò01ð+2í*2í+4ï-6ú+1÷*/ñ+,î.-ë4.ä8,Ú7(Ð5#Ã.Ä3 çXHèZLÊ<2ÞOGÄ5/ÚIFÝQRÚLKÒDBË<8È80Ç7,È9+Ê;+È;)Å:'À9%½:&»<)º=+¸=+¶=,³9.µ;.¹=1½?1½?1¿@1Â@2ÅA4ïk_õqeêd[ômiùroécbðjiútuÿk|ûivñdmï_hòaføgjõnkîqk÷|wÿ}ƒþYjÿ[wîZpû¬±«°œaŸz]sMIZ6LR6snX£–†Ë·®íÕÓÿîðÿõ÷ÿ÷ûþøüüüþþÿÿþÿÿþÿÿýþÿæÿòàÿëâýêìÿð÷ÿôûÿôþÿóÿþñÿýïÿûîÿùèÿùæÿøãÿùãÿùáþúáýÿþþÿÿþÿÿYPAXO@XO@VM>UL=TK<SJ;RI:NE6MD5LC4KB3JA2JA2JA2JA2FC<GE9JG8OH6RJ5UJ4VK5VK9XNDUMKYUciiƒ{}¦†‹Â•Ô“œß œðŸñžžöžŸû¢þŸ¦ÿ ªÿ¡¬ü ¬ô «íŸ§æ¢¦æ¦£èª¢í« ïªï™ªü—§ô˜£åžžÒ¬šÂºª½r†ÃUbÓCMå;Dð7?ñ6=í8=ã=?ÛAAÕDAä:CÜ8?Û@DË;;ÊC@ÈA=¿41åOPäDFé>Dë:Bè7?ä7;Ü89Õ:8Ð;7ÓF?Ç<5Å<4ÌG>ÌLAÁC7¶;,·9+¹7*½7+Å7-Ë4-Ñ2.Ø3/á53æ66á?0ß<-Þ6)à4&á6%á6%Û4"Ó4Ð:"Ê:"Æ:#Æ;&É<*Í;,Ì8,Ì5*Ö3.Ö5-Ñ7-Î8*É6&Ç4"Ë4!Ð3"Ø2$ß1(å/+ç.,è,-æ,1æ-3ç.4î*,î,-í0.é2.á3*Û5'×7'Ò9'Ó@,»*ÔE5Î?1ÙF>êWPØC?ØBAåWVâRRÛKJÔC>Í=5É9.È9+Ç8(È;)Ä;(Á:'¾;'½>+º?-¹@/¶>-²9.µ;0·=0¹=1º?0½?1ÁB3ÅC6ëi\òmdçb[ðkfõolèbañklûuvÿp€ÿo|öirë^fêY^òadøqnù|vöyuÿx~ùRdÿUríXnö¥«¥¨“X”n[tLN_;QZ;us\ª×úøàÜÿôóÿúûÿúûÿûüüüþúþÿûÿÿúþÿûüþçÿñáÿêáýçéÿìóÿòøÿóýÿòÿÿóÿýïÿýíÿúëÿöåûóàúòÝûõßý÷ßúúøüüúÿÿýZQBYPAYPAWN?VM>UL=TK<TK<QH9PG8OF7MD5MD5MD5MD5MD5GD;JF;MG9PI7SK6VK5VK5VK9WMCVNL\Vbkiy{¢…ˆ»‹‘Í—Ø™—à™˜ä˜™éšœï›Ÿö£ùŸ§ø ©ö ªïž§èœ¤âœ¢àžŸàžáŸ™ãž—äã–›Ý –Ү¼ƒ®Ær“ÇZqÇCQ×AJá>Cæ<?è;=æ<?ã=Aá>Cß>Câ;CØ7=Õ?AÏA@ÉD?Â=8Ã96ëWWàBCæ=Bé:Aæ7<Þ58Ö66Ñ96Ì;6ÕHAÅ:3¾5+ÅA5ËK>ÆH:»=/¶8)¹7)¿7+Æ8,Î7.Õ60Þ63æ87ë;;Ó5)Ö6*Ú6*Ü6*Ý5(Ý7)Ú:*Ö?,Ã5¼5¸6 ¸7"»9)¼8+¼4(º0&é=;å>8Þ=5Ô</Ì9)Æ8$È7"Ì7#Ò7%Ö2&Ù.&Ú-'Ü-*Ü.-Û//Û//Þ*)á/+á4.Ý5,Õ3&Ð5#Ð9&Ñ>*ÓB/Â1 æTEÐ<0ÚA;ÞC?èJIòTSèVVçSSãOMÝIEÖC;Ï<2Ê8+Å6&Ä7&À7%¼7$»:'¹<*·>-µ=,²=,°:.±;/²<.µ=/·=.º?0ÀB4ÃE7Ü\Oêg]äaYñlgöpoçabìfgòkoäP`ï^kôhqòemñ`eödgûqqúzwövsÿnuõJ]ÿMjïUmñœ¡ŸžŠPˆcVoEOd=Va?ww]¯¤’âÐÄÿíæÿ÷óÿûøÿýûÿþüûÿüûÿýûÿýùÿû÷ýùãÿëÜþãÚøÞàúáèûåïüèöýëýþîýúëÿúêÿ÷èúñàòê×ðèÕôìÙùñÜýùöÿûøÿþû\PB\PB[OAZN@YM?YM?XL>XL>UI;TH:SG9RF8RF8RF8RF8RF8JF=KG<OI;RK9TL7WL6WL6WL:VL@UMJ\V`jh~yy‚„´ˆÄŽ”Д”Ò”•Õ••Û–˜ã˜›ê˜žìš¢í›£ëœ¥æ˜¢ß–ŸØ“œÕ“™Õ“—×’“ÖÖ†½Ž„¹£~²¸r¤Êe‘ÖTzÙDa×:Kà@HÞBCÞC?ÞC?áAAä?Cè=Fë;Fã?FÖ:>Ó>@ÐFCÅA<¸71Å>:ê[WÝABä?Cç=@ã:=Û89Ó97Î=8ÌA:ÏE;Ã9/»2(À</ÇE7ÄE6½>/¸9(¼8)Â8+É:,Ò:/Ù80á83è;7ì=:Ô3+Ö3,Ù5,Ý4-Þ6-Þ7.Ú:.Ô>/Æ9(Á<)½>-¹>.»=/½=2Á>6Ã>7ó?>î?<æ?7Ù=1Í:*Æ9%Æ;$È<%Ï<(Ï8'Ï2#Ñ1%Ó2(Õ4,Ñ2,Ï0*Ñ3*Ó5*Ñ7+Ï7)Ê7'É8%Ê<(Ì>*Ê<(Î=,ô^PàF<Ò3/Ò.-è?BþUXÿvuÿroÿjgö^YçPIÕA7Ç5(½.Ä8'À9&»8&¹:)¶=,µ=-±>,°<-<.<.®=/°<-±;-¶>0¼B3ÁE9ÉMAß`Wâa[ôpløtrå`aä]aå^dÙFVçYeógpôgo÷dlýjpÿstúxvõssûenóCXÿEbðRkë’˜œ—ƒN‚\Ql?Ri?ZhDy|_°ª”èÛËÿôêÿùðÿúóÿýöýÿùûÿúùÿúöÿøòüóîøïÔüÚÎóÒÊëÌÏìÎ×îÒàïØéòÝóöãöõãûõåüõãõìÛíáÑéÝÍíáÑóç×úõïü÷ñþùó\PB\PB[OA[OAZN@YM?YM?YM?WK=VJ<UI;UI;TH:UI;UI;UI;LH=OI=QI<TK:WL8XM7YM7XM;UK?UKI\U]hexut“|~§„ˆ¸ŒÄŽÁŽ‘Æ’Í’“Ô’•Ü“—à”˜á•šÞ•Ü’›ÔŒ•Ì‡‘ƃŒÃ‡Ã}‚ÂzÁ|vš‹q–¦h‘Ä[†ÚKvè>cî7Uí8IçAEßFAØIAØIAÞFCæAGð;Jõ9JãDI×>AÐ@?ÏJE¾?8²3,ÇD<âTPÜDCáACä>@â>?Ü>=Ô@<ÏE;ÌH<Ç=2Á7,½5'½9*¿=-¿=-»<+½<)À;*Ç;,Î<-Õ;/Û8/à70ç83ë95ã:7â64â22å31æ42ä50Û2+Ò1)É2'Ç9-Ä<0¿90¼5/¿52È<;ÒDCó57î66å61Ø5,Ë5&Ã6"Á9#Ã;#É>'Ê9&Ë5$Í5'Ñ9,Ó;0Ò:/Ï8-Í?1É;-Ä8'Ã7&Ã:'Å<)Å='Æ;&Í>-Í:*Ø>2ãB:Ö.+æ::á14å26Ò73Ö;7ÞC>åJEêQIêSHèTHäUGË?0Æ>.¾<,º<-¶>.³@.°?/®?.«=0«=.¬<.¬<.<,±=.·A3¼D6ÆLAÞbZâc]ðnlôrrå`cå`eæ`gúixûozõltí`hñ^fÿkqÿw{ÿ{|öpqø^hö@Wý>]óOhæ‡ •ƒX†aXuE\vIgwP‚ˆfµ±–éáÌÿùéÿüíÿýñþÿóûÿôøÿöôÿóíûìäòãÝëÜÁëŻ㾺޺¿Þ¼ÆáÀÍâÃØæÌãëÓìîÙôñÞøñßóêÛìàÒèÚÍìÜÏñáÔòçáòçáóèâ[OA[OA[OAZN@ZN@YM?YM?YM?XL>XL>WK=VJ<VJ<WK=WK=XL>PI?QI>SK>UL;XM9YM7YM7XM;WK=ULGYSWc_nmkƒtt–|~§ƒ†³†‰²‡Š·ŠŒ¿‹ÈŽÏŽŽÔÕÓ”Ó‹Ê‚‰¿{‚¶u|²ovgp«ck©€n~eyZvÏMoê?cú2Vÿ0Lû6Gð@CâGBÙLB×MCÝIGèCJõ<Nü8NàFH×CCÌA>ÍID¸<4¯5*ÉI@ÕLF×CAÜ>=Ý:;Û;;Ù?=ÔE=ÌH<ÇI;Á7*Á7*À8(¾9(¼9'º9&½:(À;(Ä;)Ê=,Ò<-×;.Ü8.á6.ä6/è5.ê24è.1ê+0ð/2ö37÷69î45æ21Ø/,×31Ô63Ï42Î/3Ð/5Û5?ä=Gõ,2ñ.2è2/Ü3,Ñ5(É8'Æ;&Æ>(Ä9$Æ8$Ë8&Ò:,Ø?1ÛA5ÚB5ÙA6ÎI8ÇB1¿<*½:&Á<)Ã?*Å<)Ä9&Ì;*Î6)Î0'çB<Ý1/ñ>Aå.2à'-Ò3-Ó4.Ö71Ö92Ò8.Í5*Æ2&À1#ÎE5ÆA2¼=.µ:+±9)®:+ª:,ª:,ª</«=.¬>/«=.«<+¬=,°?/µA4ÉSGàg^ßd_èkiînoæchðjqõoxüp}ýt~õmwîcj÷dlÿqzÿw|ûsuökpöXfûAYÿ:[õKfâ}…©˜†l”ojŠXo‰ZxŠ`—r¶·˜âÜÂúôÞüúåÿÿïûÿïõÿïîÿëçúäÜïÙÐãÍÉÛÅ«Ù«¨Ó¦¨Ñ¥¯Ô©¶Ô®¼Ö±ÇÚºÒßÁàæÌêéÔòíÚòéÚïáÖìÛÑëØÑíÚÓèÛÒæÙÐåØÏZN>ZN>ZN>ZN>YM=YM=YM=YM=XL<XL<WK;WK;WK;XL<XL<YM=RJ?TJ@UL=XL<YN:ZN8ZN8ZM:YM?VKEXOP^Xbd_sifƒqp’yyŸ|¢~€§‚°ƒ„¼††Äˆ‡Ë‰ˆÎ‰ˆÌˆˆÈƒ„½{~µuxor§jm¤eg acž…ac“X^±O\×H\ó=Vÿ1Kÿ/Dÿ7Bö>@çE@ÝJBÚKCÞHGéBLó<Nú8PØDDÕEDÈA=ÈIB³:/°7,ÌPFÉB<Î=8Ñ64Ï10Ð51Ó>8ÏE;ÆF9¿E6Á8(Ã:*Â:*¿:'½8%½:&¿:'Á:&Ä9&Ë:)Ò;*Ù9+Ý7+á5+ä3+ç4-í)-ò)/ù,3ÿ.4ÿ07ÿ18ÿ28ý58ú7;õ8<ò9?ò9Aô9D÷6Gû6Hü5Jø)1õ,2î02ã4/Ø7-Ï9*Í<+Ì=,È7&Ï9*Ø</Þ>2á?4â>4â?6â?6ÑN<ÍH7ÇB1Â=,¿:'Á:'Å9(È9)Ç3%Ó9/á@8ëD>Þ0/á-.ì38í38×4-×6.Ù80Ø:1Õ;1Ó;0Î:.Ê:/ÖL?ÌF:¿?2´9*¯7)«7*©8*¨8*ª<-¬>/?0=/«<+«<+<,¯>0ÀKAÚc[Ýc^èkiðosëhnõrzüvïer÷oyør{öjsÿlvÿvÿu}öioõfl÷RbÿA[ÿ6YôFaÝt{²›‰€¤~z›f{—f€–h‘u±ŽÌËáàÄéëÓî÷ÜåóÙÙíÑÎçÉÅÞÀ¼Õ·´Ë®®Å¨•Ã’”‘˜Ä“¡È™§Ë¬Ë¡µÎ§ÁÒ®ÎÙ»ÙÝÄåãÎìåÕïáÖëÚÒçÒÍäÏÊÞÐÇÚÌÃÕǾ[N>ZM=ZM=ZM=ZM=ZM=YL<YL<ZM=YL<YL<XK;XK;YL<ZM=ZM=TJ@TJ>XL>YN<ZM:ZN8ZN8ZM:[O?WMDWMKZSZ^Xfb]sjfspvw–xxœ|{§~µ„¿‡Çˆ‚ʉƒÉ‚}¿~zµzuvq§vo¥sl¢og ldŸ‹PH•JE²FF×EOò@Lÿ7Dÿ3@ÿ8>ø<=íA=äE?àGBãDHèAKï=Mô:OÒBAÑGDÅA<ÂH=¯;.°</ÐVKÃ>5É83È.,Ç)&É.*Í:3ÌC9ÂD6¸@0Ã:(Ã<)Ã<)Á:'À;(Á=(Â;'Ã8%Ä6"Ê7%Ô8)Ù7*Ý5(á3(å3)è3*û03ÿ58ÿ7<ÿ38ÿ,2ÿ&-ÿ'-ÿ)1ÿ,3ù'0ô%/ú'6ÿ+=ÿ(Aÿ:ú2ö".ô&0î+1æ0/Ú1,Ò4+Ï5)Ð6*Ô6+Ü90æ>5ì>7ë:4é61è50é61ØL?×K<ÒF7Ê>/Ä6(Â3%È6)Í9-Í5*Ô6-æC<à74à21Ò ì89ê35Ó2(Ô3)Ò4)Ñ5)Ï5+Ì5*È5+Å7+ãYNØRFÊH;¾@4¶</´;0³=1³=1®:-°</±=0±=.<,«:*«:*¬;-±<2ÐYQÜb]ìppôvyîltõrzör}ÿy…ÿ‰ýz‚òiqøeoÿp|ÿt}ýntó`j÷Naÿ@^ÿ3WôA^Ûnt¹ž‹Ž®‡~¡i}›g—hœq¡©‚µ¹–ÉÌÕܽÌÙ»ÁÔ´²Ì©¥ÃŸž¼˜˜¶–²Œ”®‰…¶~†µ~ºƒ•À‹›Ã¡Ã‘¨Å—²ÉŸ¾ÎªÉÒµÚÚÂæßÍêÞÒéÖÐáÌÉÝÅÃÓºνµÈ·¯ZM=ZM=ZM=ZM=ZM=ZM=ZM=ZM=XK;XK;XK;YL<YL<ZM=ZM=ZM=YMAYM?ZM=[N=[N;\O<\P:\O<ZM=YMAWLHXNOXQX]Ub`Yka\pifƒokŽsp›vq§{u³ƒ}Ê‚ËŠƒÉˆÂŠ~¼‡z²ƒr¨†r§Œu…l¥z^˜™G9¡C7´A:ÍC@á?=ì89ø:<ÿBCú<<ó=<ì>=ê@AéBIêCMëANê>NÌA<Å@9¾?6µ?3®=/±=0¿E8ÒMDÇ61Ô;6Ï1.Í2.ÖC<Ç?3´6'·?.½6#Á:'Ã<)Â;'À9%Á:&Ã:'Ç:&Ë:'Ð9(Ô7(Ö3$Ú."à/%ì7.ô=5ø72ù30ú.-û)(ý%&ÿ#%ÿ"'ÿ"'ÿ$*ù )ú!,ÿ%7ÿ'<ÿ;ÿ4ÿ3ý)7ð".ç"+ä*-Ý--Ó+(Ò-)Ü41â62é54ï64ó55ó12ñ-.ï+,í++Õ<4Ò91Ñ:1ëTK»"Ä+#ßF>È.&Ì/(Þ<7èE@â:7Ø/,Û.*ã41é:7Ý?3×;.Ï5)Ë3&Ì5*Î:.Ë;0Æ8.ìbWàZOÈD8¹6,º:/·9-¯3)²6,¯1%°2&®2&®4'¯7'²:,²<.³=/°:.ºC;Ö\Wìppñsvøv~ûyƒõq|ÿ{„ûx€øu}üs{ÿr~ÿq}ÿlxûisøbmôI\ÿ=\ÿ8[ñ:VÖek²–‡¦}~¡i|šd}•c‡—j”ŸuŸ¥ ¨ƒœ¨„’£Š£|€Ÿvx›qw›o|r t„£w¯uƒ³y‰¹½„“¾†—¾‡œ¾‹¢½§¼“¯½š¾Â§Ï̹ßÓÇãÒËÜÇÄÖ¾¾Ê»´Á²«¹ª£ZM<ZM<ZM<ZM<ZM<ZM<ZM<ZM<XK:XK:XK:YL;YL;ZM<ZM<ZM<ZL?ZL?ZM=]M=]N;^O<^O<\O<]P?[OA[NFYNJZPQ\SX_U^_Wbb\xibƒng‘qjžvp®€y½‡€ÆŠ€Å€Ã~ºtŒn¢—q¤¡uªši ŒY‘©;.¨7)°6)À>1ÐB6Ü?6è?8ôA=ö=;ø:<÷:@ô<Dï?IèAIâ@KÜ?HÃ>7½=4¶<1°</ª:,¬;+¼B5ÐJAÚG@ÜA=Õ63Ò41Õ@9ÍC8¹:+¯6%¿8%Â;(Ä=*Ä=*Ä;(Ä;(Ç:(È:&Ï9(Ñ5&Ô2%Ú2%ã5*ê8.ï80ñ91ä2&æ0%ê.#ñ,$ö+%û+'ÿ,+ÿ-,þ)-ú%+û#.ÿ&5ÿ$9ÿ5ÿ1ÿ 0ð .ù-9ö2<å*1Û(,Ü.0Þ02Ý*.ò9>õ6;ú3:û06ú-2û.3ý14þ36×4/Ü:5Ù72æDAæDAÎ/+Ñ2.Á"Ö41á?<èE@à=8Ø3-Ù2,Ý60à91Ò<-Ï9*É5'È4&Ê8+Ë;0Ê<2Æ9/ícYáXNÉ@8¼3+À:1Á;2½7.À:1Á4+¾4*½4*»5*¸6(´6(²7(°6)´;0»B9ÓYTèllïqtöw~þ|†øv€ÿ|„ûyøv~þuÿsÿo}ÿiwùeqùanöI]ÿ<\ÿ9\ô=YÕdh«y€œsu˜`t’\w]cŠ•k—p‹•p…”mp†_lˆ_fŠ\g^j_q•ey›i}l€r„²tŠ¸z»}½‘½‚–½„›»‰›µ†¡³¶—¾½¨ÏÆ·ØÇ¿ÖÁ¾ÒººÅ·¶º¬«²¤£\L<\L<\L<\L<\L<\L<\L<\L<ZJ:ZJ:ZJ:[K;[K;\L<\L<\L<\L?\L=\L=]M=]N;^O<^O<^O<_RA^QA\PD[NFZOK[PN]QS]ST_RlcXvh]…jb“sk¦}w·†}Àˆ}¿—…Ù€¹›v©ŸoŸ¯t¢»v¥µi˜¤U…Ä92¾5-¹5)½>/ÇE5ÐG7ÚC8ä?9ó=<ú9>ü9Aú:Eò>GæAH×@EÏ@B¿<4¸90±8-«:*¨9(«:*»?3ÏF<ÙD>Ø96Ú65Ü:7ÜC=ÝOEÍI<²4%À9&Á:'Ã<)Æ=+Ç>,È=*É:)Ì9)Ï8'Ï2#Ó/#ß4*î=3ô?6ñ91í2+Ú7&Ý6&à3#å/"é-"î+%ñ,&ò+(ó++ð(+ò'-ú(5þ%8ÿ5þ2ÿ3ð(5ô.;ô4?ò8Cï;Dð<Eé5>å+6ñ1<ô/9ù-8ù+5ù,3ø-1ö.1ö01Ù1.ä<9Û64à;9ÿljæBAÒ.-Ð.,Û97á?<àA=Û<6Õ7.Ô6+Ô6+Ó5*Å8&Ã6%Ã6%Ä8)Ç;.Æ<1Æ<2Å;1ëaWáTMÉ<3¿0(Ë;3Ï?6Î;3Ñ>6Ú=8×<7Ô=4Ï<2É;/Â:.»7*¶6)·;/»@8ÏTMãgeíorøz~ÿˆý{…ý{ƒùzúx€ÿwÿsÿl}ÿftøbnø]kõG^ÿ:Zÿ9\÷AZÐ_c›gkŠ^e†Oh…Ol„Rt…X{ˆ\}ˆ^x„\q‚X`yO_P`†UeYm•`uœg{ j€£mp…±tˆ¶v‹¹y‹¹yŒºz‘º~”º‘±•¬€›©†©’ºµ¢Ç¹°Ë¸²Ì´²¶®ª¡¢ —˜[K;[K;[K;[K;[K;[K;[K;[K;ZJ:ZJ:ZJ:[K;[K;\L<\L<\L<]K=]K=]L<^M=^M;^O<^O<^O<`P@^Q@]P@\NC\NE[NF\OI]PJ`NdcSmfX{g^‰ohœzu¯„|¸†{µ™…º¥…´¯€ªºy¡ÈxŸÓušÍc‹¾OyêAFà@@ÕA=ÌF;ÈJ;ÉJ;ÐF9ÜB:î@?ø;Aþ:Dü<Gñ@HâAFÑAAÅ?<¾?6¶<1¯9+ª;*©:)9*º?0ÎD:Õ<7Ö21â:9æA?áD?çTLÞVH½;+Á9)¾6&¿8%Ä;)É=,Ê=,Ë9*Î8)Ï3&Ò2&Ù3'å9/ñ>7õ>8ð50è-&×:)Ú8)Ý5(à2'æ/'é.'é,(é,*ç+*å(,è)1ï+7õ';ö";ú=ÿ"A÷8Gä(6ç/;ÿP\ÿ`lÿP\ò<Ió9Gé)8ï)8ô,9õ0:ô17ì01â*(Ü&#Õ2-Ú64Õ1/æBAÿrp÷TUÝ==æFFÛ=:Ú<9Õ:5Ò80Ñ7-Ï7*Ì4&É1#º7#¹6"»8&¿;,À</¿9.À:/Å<4åXQÜMGÊ70Ç/*×<7ÞA:Ú;5Þ=5ë<9ê=9æ?9â?8Ù?5Ð<0Ç;.¿9-»9,»<3ËOGàc_ìnoú|ÿƒŠý~…úx€øy€ùzÿx‚ÿt‚ÿl}ÿdtö_nóXhõE\ÿ6Vÿ7ZùC\ÇYZ‡mRWxIXv@\yCdzIl}PtVw‚XrXoWl‡Zl^o•buh{¤l¨o„ªq‡ªr„q‡±rˆ´u‰·v‰·v‰·vŠ¸w¹z‘´|«z’¤|¤…«–¾²¦È·¯Ë¶±¯¬³¡ž¥•’™[K;[K;[K;[K;[K;[K;[K;[K;ZJ:ZJ:ZJ:[K;[K;\L<\L<\L<^K=^K<]L<^M=^M;_N<^O<^O<^O<^N>^N>^N?^N?_OB`PC`OEbM\cPdcUodZle‘vr¤~w«‚v¦“~©¬†«Â‰©ÐžÛw“âk‡ÝXuÓFfÿ=MüDPðJNÞJHÌG>ÇG<ÍG<ÙD>èBBó>Cù>Gø@HðCIÞDDÍB=À?9½A5µ=/®:+ª;*©:)9*º<.Ì?6áFBä<;ïABíAAÞ:8ãJBæXLÔL>È@0À8(»3#Á8(È<-É:*Ë7)Ð8+Î0%×3)à8/é;4ï:3î50ë0+è+'Û4,ß4-ä2.ë31ð43õ45ö58õ6;é/4ç.6ê0=î2Cò.Fõ*Gý,Lÿ1Tð<Hå3?ð@Mÿ_lÿlzÿWfõCSõ>Pî3Dî2Aî3>ê5<æ89Ü73Ð3*Ç/$Ì2*È-(Ñ61óXT÷\ZóXVÜ@AâHHÜB@Õ<7Î70Í6-Ï8-Í9+Ê7'Æ3!³:%²9$´;(¸=-¹;-¶6)»8.Ä>5ÛNGÙEAÎ50Ð1-á>9è?:ã81ä71ð/0ï11ì42é73â92Ø:/Ð9.È:.¾6*º7-ÈIBÜ_Yënlû}€ÿ…‰ýƒõv}õx~ùzÿx‚ÿsÿj{ÿdtö_nðUeôF]ÿ6Vÿ7ZúF_ÀTRvaBJo<Us?[vCdzIn~QtVy„Zyˆ_wŒay”gv›hy¡l|§o«p„«r…«p†ªm‡rˆ°r‰³tˆµt‡¶r…·r‡¹tŠ¸w·{Œx¤x™¤‚«•À¹§ÎÀµÖüººÆªª¶œœ¨ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8[L9[L9\M:\M:\M:^K<^K<^K<_L=^M;_N<^O<^O<]N;]N;^O<_P=_P=aP@bQAbQAeKTdN[aPc`Usga…rp˜xvž|r—Žv–®ƒžÌ‹ŸÝ‚“çr‚ïbsìObå>Rÿ-Hÿ:QþCTéDKÒ@AËA>ÎDAÖEBãEFêAFï@EïBFçDEÚEAÉC:¿?4º@3±;-©8(¨9(©:)®9(º:-Ë;3èIEë??î;>æ68Û2/ÞA:îZPõg[ÙQCÉA3¾4'À6)Ç9+Ê8+Í6+Ò8,Ñ0&Ü5-æ;4ë:4ê40è/,ê-+í-,ó4;õ3;ø3<þ2=ÿ1>þ0=ý0?ù0@ô1Añ2Dò5Kó5Oó0Põ-Qþ1Xÿ:dá7B÷O\ÿanÿ`nþXfùQbòEXé8Jó@Sê:GÝ2;Ò/2È3-Á9-º=+µ>(Æ9/¿2(ÙJBúkcÝLGáPMÍ<9Ï;9àLJÔ@<Ê7/Ê7-Î</Í<+Ë:'Ê9&®>(«;%=)²?-±9)®4'º:1ÊC=ÕHAØC?Ô72×2.ç;7ì:6è2.ë2-÷)+÷+,ô.-ð3/é61â:1Ú<1Ò>2Â6)º4)ÅB:×XRçjhú|}ÿ†‰þ€„õv}öyú{‚ÿx„ÿqÿh{ýbtõ^oîSe÷I`ÿ9Xÿ9[ûI_ºQNmZ:Em8ZvCa|InSv†Y|‡]Šbg‚—lœl{ m|¤o}¨p~ªo‚ªnƒ©l…©lˆ«qˆ®qˆ°r†³r„³oƒµn„¸p‡¹t‹µv‰¬tŒ¦wš¨„°´™ÈïØ̾àÏŽÃÓ«±Á›¡±ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8[L9[L9\M:\M:\M:`J<`J<^K<_L=^M;_N<_N<^O<^O<_P;_P;aP<aP<aP<aP<bP<fLOdMUaO]_Vkgb€sr’yx˜}t‘ŽvŽ’Ά’á}…ñowýbjýOXö>Hÿ$Hÿ0Qÿ;Uñ<MÞ<GÖAEÓEDÔBCÜCEàBCäADäABÞDBÔC>ÇA6¾>1·?1¯9+¨7'¨:)¬=*²=,À>1Ñ>7ß=:ç79æ/3ã/0á32Û94åNEülaïj[ÙQCÆ</Æ:-È:.É7*Í6+Õ8/Õ4,Þ7/æ93é62é1/ê.,î1/ó32ÿ0Eÿ/Eÿ-Dÿ*Bÿ%@ÿ"=þ:ø:÷'Aó+Gô/Mó0Rò+Rô)Vÿ1bÿ=nêHSÿ`mÿiu÷VeíKZñL]êCUÚ1DéARÝ7CÉ,3¹)(®0$¨9&£A&ŸD'¼=.º;,ÜZMá\SÍG>ÍD>Á61É;7ãUQÕF@É91È8-É:,È9(È:&É;%ªB)¦<&¦<&¬=*©8(¬3(¼=4ÒMFÕGCÝEBÛ96Ü30é73í41ì/+ó2-ÿ)/ÿ*/ý--ö0/ï4/è7/ß;1Ø>2É:,¼4(À;2ÏNHßb^÷yzÿˆŠÿ„†ùzú}ƒü}„ÿx„ÿn~ÿdwù^pò[léN`öHaÿ8Wÿ7YøH]²JGcS1Al6ZtDf~NuˆZŽc…f‡’jˆ—n‰žs‡¤t‚§t§r}¨p}©n©mƒ©l…©k†§n‡ªp†¬o…¯o°l³k‚¶n…·p‡´s‡rŒ¨wœ¬…²¹šÈƱ×οÞÐÅ·¿Ò¤¬¿’šZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8[L9[L9\M:\M:\M:`J<`J<^K<_L=^M=_N<_N<^O<`Q>aR=bQ=bQ=bR;bP:aO9`N8jNMgNRbQ[cWkjfuv’}}™y‘’{¯ŒËƒ‡ã{|ùqsÿgjÿTXÿAGÿ#Mÿ.Tÿ7Wù9Pé>NàEM×EHÑ?B×BDÚACÜ@AÛA?ØC?ÏB9Å?4¿=0·?1¯9+©8(«=,°A.·B1ÇC7×D=Ú64å57ã,0ç02è88Ó0+Ï5-éUKÿznæ^RÎD7É=0Ê<0É6,Í6+Ö90Ú70ß82ä71ç40é1/í10ò53ø87ÿ=ÿ>ÿ>ÿ>ÿ=ÿ=ÿ<ü=ò:ï@ð$Ið&Nï$Qó%Uÿ0eÿ=sÿgrþalôXeîR_ïQ`îM]â?RÖ1Bß:JÑ4?¿-0±-(¦5'ž>&–C%E"¯7&²9(ÒWHº<0ÁA8º7/º3/ÍC@ãXSÕHAÈ91Ä6*Å6&Ä5$Ä6"Ç9#¦B*¢<%£:%§<*¦7&©3'½A7ØSLØIEáGEÞ:8ß2.ê41î1-ï.)ù4.ÿ'-ÿ',ÿ)+ö*)í-(ä1*Ü5,Õ9-Ð>1½3(¼7.ÉHBÙ\Xôwuÿ‰‰ÿ‡‰ý~…ý€†þ†ÿx„ÿl|ý`sõZlïXiãHZóE^û4Sÿ3RóCX«E@\L*?j4Uo?d|LwŠ\†“h‹–l˜pŽtŽ£xŽ«{†«x©t|¨mz¦i}¥g¥h‚¦h…¤k…¦m„ªm‚¬l®j}±i€´lƒ·oˆ·sˆ°tŽ¬xœ®„²¹šÄ«ÐǶÖÈ»²½Óž©¿‹–¬]K7]K7]K7]K7]K7]K7]K7]K7^L8^L8^L8^L8^L8^L8^L8^L8\J>]K?]M@\L=ZM=ZO=\Q?^SA_T@_R?^Q@aQAcRBdQCdNAcM@pKEjKIfOUgZknl„v|ž}†¯ƒŠ´Š…®Ÿ‰¸Š¦Ìƒ”Þ{~îumøl]ûfRðN[æDQä>LéANïCQí>Ké:Gê<Få:Bá;?Û;;Ö<:Ï?7È>4Á;/¼8+ :$¬C0¬=,®6(Â?5ÑD=Ð;5Ó61Û83Ü71Ý6-Ý7)Ü9(Ý='Ù;"Õ7à74õPLõXOÛD9Ç8(Ì?.ÒC3Ñ;-Ò4+ðGDâ.1ï4;ö4?ï+9ÿ@Qí(9þ&+ÿ*-ÿ*-÷"û#$ÿ()þ((òð"ú+1ì )î&1ò.<ç$5ÿYnë+@ÿ`jÿ^iÿYcûT[öPTìHIÛ@;Ê:1ÅA2½F2®D.Ÿ;$”5–7#˜;)œ=+§81«83ÁEC¿;9¾23Æ45È44×CAÜKFÚKEÑD;È:0Ä4+È4*Ì3+Ì2*·?1³9,®.#'¶,"Æ7/ÓC:ÚG=äPFßE;Ù80Ü1*ç/-ô01ý/3ÿ.4ò14ó12ô01ó/0ó0.î1+é4+à8-Ö=/¾2#¾?0·>3Õ`Wçtqÿù…†ôŠŒþ…Œÿwˆÿe}ÿ[wÿXuÿSoûJgûDcö7Y÷9]ç>[Ú]k„C=PI/F`;Xw<e‡Ku—[zcz e|¤h¨l€©o¨l~§k~¦j}¥g}£f£e£e€¢e}¥p~§o«n¬k~g¯e±e„²g‡µjŠµpŠ²s°z–¶‡£¿™«Ä¤¬Å§¦±µ˜œz…‰]K7]K7]K7]K7]K7]K7]K7]K7^L8^L8^L8^L8^L8^L8^L8^L8\J<^L>^N?^N?[N>ZO=\Q?^SA_TB]QA]P@_OB`NBbPFcOFcOFkLGjMOgS\h_rnoŽw~ª~ˆ»…ŠÁ›–Ì¢Œ»«£»wŽÕx‚í|x÷uhöjYüZgóN\ìFRòHUöJVõERï?Jë;Eä9Aà:>Ú::Õ=:Î?7Ç>4À</º;,¥>+ª?-¨9(²:,ÁA6Å<4Ç7/Õ<7Ó40×4-Ø4*Ø4(Ú7&Û:&Û;%Ù;"Þ52æA;ëMDàI>Ð>/Ç8(Ê8)Ó;.Ý<2öJFæ/1ò5<ø6Aò.<ÿ?Pì'8ö$'÷%(û),ý+,ü*+ù'(ø((ø*,ð$'í%(ê%,þ:DÚ'ð4CüATÞ#6ÿluÿblþZcüW]õOSæBCÙ;8Ñ>6¾8,¾E4¹H6¨?,–1)Ž()ž-'°:6ÑTRÎHGÃ54Æ45Ò<=ëWUØGBÖGAÏB9Ç9/Ä4+Ê6,Ð7/Ò5.Â?5À:1À5.Â3+É4.Ð83Ø?9ÞE=ãJBÞA8Ù6/Ü1*æ0-ó11ü03ÿ.3ò14ó12ô01õ/0ó0.î1+é4+à8-×>0¿3$¼=.¶=2Ó^Uévsÿù…†õ‡Šþ‚Šÿu…ÿe|ÿ[vÿWtÿQoþIhúAaö8Zö=_æF`ÅQ\{?7NH.Ga>Yx=e‡Ks•Yx›awbz¢f|¥i}¦j|¥i|¥i|¤h{£e{¡d}¡c}¡c¡d{¤l}¦n}©l}ªi}ªe}c¯c‚±cƒ±f‡²k‡¯pˆ«u‹«|¬„©‰‹¤†z…‡doqR]_]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8^K<_N>aP@`P@]P?[O?[O?[RC[QE[QE\OF\OG_PKcQOfTRhTUiTQiVXi]kmi„sv¡zƒ¼ŠÍ‰Ö—‘ÙŸ‹Êª‚¶º}ŸÒ‘烅ð~tïveÿ`k÷S\íGQðFQöHR÷EQô@Kî=Gå6=à7:Ù99Ô<7Í@7ÅA4½?0¸=-©@-¨=+ª;*¸B4ÅI?À;2»0)Ì92Í6/Ò5.Õ7,Ù7*Ù7(Ú7$Ü:%Þ<'ß3/Û4.âA9éOCÜH:Ç6%Æ3#Ù@2á>5õHDé13ó4;ú6@ø4@ÿES÷3Añ),í"&î#&û03÷--ï''í%%÷12ì(*ø7:è+1â)1ë3?ÿR^ï=KÿYiúafñV\îOTðMRêEIÞ:;Õ74Ô?9À6,¿?2»C5²>1ª8-¥3)Ÿ,%œ' ˜% §0*ÆFCÂ::¼,,È44×ABô^]Ò>:ÒC;ÐA9Ë=3Ì9/Ô=4Ú@8Ý@9ÙA>×=;Ü>=ãA?ã?>à;9ã?=ëIDàA;Û=4Ø5,Û2+å2-ð31÷12ú/2ó04ô02ö01õ/0õ/.ð0+é4+à8-Ø?1À4%¸9*´;0Ð[Rízwÿ’’û‡ˆøƒ‹ü~‰ÿr‚ÿcyÿZtÿTqÿMmÿFgü=_ø:^ôBbåQg§?Fn<1OK2KcA[z?h‡Lr“Zu˜^tš_wŸc{£gz£gy¢fy¢fy¡cx byŸb{Ÿa| b}Ÿby¢j{¤j{§h{¨e{©azª^|^®`…³hŠµnŠ²s‰¬t†¦w‚žvy“pn‡gVb`COM4@>^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^L6`N:aP<`Q>]P?ZN>YPAXPEXOH[RM_UTcWYeX_iYcl\fm]hlbclemolrtšx¶~†Ï„ŒßŠŽç‹‡ÞŠÙ¬‰É³½y’Í{ßyê†vÿnrÿbgùU\öLUöFPöBMó>Gð;Dæ5;á7:Û97Ò=7ËA6ÄB4»B1·?.©;,=/¯>0»G:ËRGÇH?¹6.º1)È91Í81Ó;0Ú<0Û;-Ù6%Ü6&à9'á40Û2-à=4ëOCãK=Ñ;,Ð8*àB6Þ7.ð>:é/0ò16÷4<ü8BÿNZÿKWý>Cò38â$&í/1ê,,ð22ç+*é0.ò::Ñæ37Ü-2ç9BïENÿYcôLYÔ?AÚADßCFá>CÞ9=Ü89Ø88Ó:5É83Â91½:2ÀA:ÍNHÖVSÐNNÆAB¯82µ:5ÏKGØNLãQRïYZêRQñYXÉ51Î>6ÑC9Ð@7Ó?5ÚA9àC<àA;í<Bê7=í8?õ>Cñ:?é58í=?øLJà93Ú70Ø4+Ü3,ã5.ì30ò21ô01ô04ô02ö01ö.0õ/.ñ0+ê3+à8-Ù@2Â6'µ6'²9.ÉWMî}yÿ“’û‰‰þ€‹ý{‡üoücwÿXqÿNmÿFhÿ?cþ8\ù=`íIdÙYhˆ25d<0SQ8TgG`}Ej‰Ps’Yt•\u˜^wby¡ey¢fw dv awŸavž`xŸ`zž`{Ÿa| by¢hz£g|¦fz§bz¨_z¨]|«]~_†²eŠµmŒ³rŠs†¦u€œstŽii_RaZDSL8G@^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;_K2_M5aO9_P;\O>ZN@XPEXQKYQO^X\g`hnfsshysg{sg}tfnnzor…rw•v|¬y‚Ã~†×ƒŠåˆ‹ì’뛌ߞƒÆžt¢¡kƒ®mq¾vjÈ{iþllÿklÿfiÿ]`üQWöEMð;Bí5=è59ã68Ý98Õ>7ÎA7ÅC5¼C0¶A-¬8+´@3¯;.°;1ÇRHÓ]SÈNCº;2¾90Á7,Ì9/Ö>1Ý=1Ú6*Ü4'á7(á2-ã60ä=5åE9âF9ÜC3ÝA2á?2Û0&ì62ì0/ð-1ò-4ú7?ÿOYÿZdÿ[_ÿOSá.1ã03ß--÷EEè66Ü,,Û-.ë>@Û25Ù37ÿchÞ=CÊ*2Ê-4¾()Ô;=àAEÚ7:Ù37á8;Ü89Î..Ì43Í<9ÓHEÝSSì`c÷hnõdkî[e¿B<ÆE@å^[÷igÿopÿjjåKK×=;É4.Ñ>7ÕE<ÖC;Ó?5Ö<4Ø93Ø7/ö0=ò,9ó+6õ-8ò*5î+3õ8<þJKà3/Û4.Ø4+Ü4+â5.ê40ï4/ð3/ö/4ö/2÷/1ø-0ö..ñ0+ê3+â7-Û?2Å9*²3$±8-ÃNEî}yÿ’‘üŠŠÿ}‹ÿw…ùl|öatùUmÿHgÿ>bÿ8_þ4\õ@aâMcÂWap/+\A0XX>]lMbIl‰St’\u–_v™_xžcy¡ex buŸ`uŸ`u_vž_wž_zž`{Ÿa| by£d{¥f|¦dz¨`y§^y¨Z{ªZ}¬\€¬_…¯g‡®m‡ªp…¥sƒ t{•nrŠffvi[k^RbU_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<`L1aM2`N6^O:[N>YOE[RMZTT_ZahbprmzuŒ{t“yr“zp“yo”ov’pyšt}¨w€·zƒÈ~…Õƒ‰á‹‹å”ã—ŠÒ™„¼¡ƒ§ª„“«~yŸl[ŽX>ÈH?ÕPIäVRìVUòRRôJMî=Cè38ì7<ç9;à;9Ø=8ÑA8ÈC4¿B0¹@-³9.ºA6«5+£.$¼J?Øh\×eZÊVI·=2¸6)¾4)Î:0Ù;0Ü5,ß3)ä6+á/+å61ã;2Ü:/Ü?0ãF7ãC3ß9+ß1&ê3-ð31ï-.î*.ô17ÿEJÿS[ÿ_dÿ\aâ9<â9<Õ+.ôJKâ89×//Û55Ì()Ë(+÷YZÛ?BÔ9=Ð7:· %Ã))Û=>åBEÝ49Ù,2Þ17Ú/5Í(,Ò37äKNöaeûhnùcl÷_kû_mý_nÒNIÔOJè]ZêVTçMMãGHÑ32Î31ÙA<àKDãPHßKAØA8×:3×50Õ2+ÿ,;þ+:ü(7ø%4÷'4û/:ÿ=CÿILà1.Ü3,Û4,Ü5,á4-ç4-ì5/ï4/ö/4÷/2ù.1ù-0ø..ò/+ë3+â7-Ù=0É;-³1#°7,¹D;ìyvÿþŠ‹ÿyŠþqõhxó`söTlüCcÿ7^ÿ3_ÿ3\óDcÒM^ JMb6+TE0W[@^kMc~Kk‡Tt‘[w•_x™`{ždz cvž`s›]s›\s›\tœ]v^wž_{Ÿa| by¡bz¤b|§b{¦_x¦[x§Yz©Y{ªZ~ª]ƒe…¬i†ªm‰§s‰¥u„s|•mv‡unmfwe_P=_P=_P=_P=_P=_P=_P=_P=^O<^O<^O<^O<^O<^O<^O<^O<cP2cO4aO7^O<[OA[RK^UV_Zakgvso†}z™‚~£|¥}w¥{u¥{t§pz«s}°w‚¸{ƒÁ~†Ç„‰Í‹ŽÓ“’Ô˜“Í ”«›¸¼¦³Ç®ªÅ¦”ªˆlmJ©?/¯A2¶@4ÄA9ØGBëMLñHKí?Aî;?ê:=å;;ß=:ØA:ÏA5Ç?1Á=.»;2¾?8¯4,¦1'ºJ>ÏcWÔh[ÔfYÁPB¹?2¹5)Ç7,Ô:0Ù5,ß2+ç6.ã0,ã4/â7/Ü8.à>1åC4â?0Þ4'æ4*é1)ò2/ð..ï-.ò14ô68ü?CðOTúY^éFKõRW×47ëFJÝ8<åBEÚ7:Î.0Ð15ãIKÑ8;Î8:¸#%Ñ<>Ü89ä;>ê=Aç6<â-4Þ)2â19ç<DñLSû^eÿksÿisú`l÷YhùXhûXkðgaèZVèWTØ@?Ï10Ô44Ó41áC@ãJDéRKèSLáJAØ?7Ø93Û81Ü71ý)8ÿ/>ÿ/>ý)7ÿ-:ÿ9CÿAHûABã1/ß4-Ü5,Ý5,á4-æ3,ì5/ð50÷.4ù.2ú.1ù-0ø..ò/+ë3+ã7-Ø:.Ì>0´2$±7,±<3çtqþŠŠþŠ‹ÿr†ýj}ñbtð]pôRjûBbÿ6`ÿ5aÿ8_ïKfÁN[z;6Y?.LH/TZ@]cIbzJj„TrŽ[v”^yšc{ždxžas›\p˜Yp˜Yq™Zq™Zt›\uœ]y_zž`x¡_y¢^z¥^y¤\x¤Wv¥Uw¦V{§X~ª]‚¬d„«h†¨l‡¥o†¢r€šmx‘gr„lk}ecu]_O?_O?_O?_O?_O?_O?_O?_O?^N>^N>^N>^N>^N>^N>^N>^N>eQ6cR8aP<]P@ZPG\TR_Zab^otrŠyx˜€¨ƒ°~~²yx±wv°xw³t}Âw€Ã}…Æ‚ˆÆ…ŠÂÀ—–¾ ¼¬§»¶¬´¾³¯È¸©Ð¿¥Õ¡ϼ”Dz‡·kS®\F¤G5©=0ÂH=áVQðVTòNOì?Aë=?è<<ä<;ß=:×=5Ï;1Ë8.¿82Á<5¹:3·>5ÀPDÅYMÅ]PÎgXÐdWÁM@º:-Å8.Ò91Ø3-ß2,è50æ40á2-à5-ã<3çC7æC4â:-à3%ê5*è-&ð0+ð.,ò21ò44ç.,è00áEIõY]öW\ÿpuåDJéHNÞ=Cü[aÿouÝ>Cÿ~‚ÿmqêQTÔ>@Å02Ñ<>øEIî9>ð7=ø=Fô6@è-8ö>Jÿ\hÿmwÿitÿdl÷]gú^kÿapÿ]nüWhî_YãOKâJGÕ74Ò0.Ù54Ó/.Ø95ßD?ãJDáJAÙ@8Ó6/Ö5-Ü71â94ð$0ý/<ÿ1=ø*6û/:ÿ>Eÿ>Cì44â3.Þ5.Ý6-Ý5,á3*è3,ï4/ò5/÷.4ù.2ú.1ù-0ø..ô.+í2+ä6-×9-Ï@2µ1$²6,°7/èpoþˆˆÿŠŒÿkƒücxð]pïZnôPiýAdÿ7aÿ8dý=bæPi°QW^2'RG3DH/PV<X\C_vHi€Rq‹[v’_z˜b|dxœ_r™Zn—Un—Un—Uo˜Vr™Xt›\uœ]y_vŸ[x¡[y£[w£Xv¢Uv¢Sw£Ty¥Vz¤X~¦_¦c¡d~œf{—frŒ_k‚V`uVZoPRgH\L<^N>`P@`P@_O?_O?_O?aQAbRB_O?]M=]M=aQAcSCbRB`P@eS;aP<_O?^QH[QOZSZeapsq‰xxšz|¥~€±€¹}¼xy¹rs¶no²qwÏv{̓̋Ȗ—䤾²±¹½¸²ÌŲÓÍÙЩÛУÛÑ ÝÑ¡ØÌšÒƔզŠ·gŸ_FËzgØte¾G?ØQMøbaìILç>Aä79æ9;ã99Ü75Ù61Û94È95À50ÇB;¹=5¾I?ÄXK·PAËeVÎdVÊYKÃG;Ä:/Í6-Ù6/â5/å3/á/-ß2,â70ä=4à<0Û8)Ý5(å8*å/$ê/(î.)ð0-ï20ë40è51æ40Ó8<åJNõY]ëOS×7?×6>ùX`ÿ~†ÿ~†ÿowÿgoÿipÿfjõ\_ïY[ô^`ÿRYÿCKü8Bü7A÷1>ï+9î/>ñ=IÿS_ÿ`kÿgpÿepþboÿbpÿ`oÿ[lìTOßFA×85×31Ù10×/.Ú21Ü86áD=ÜB:Ø?7Ö<4×90Û81á83ä84ô5=ó4;õ3;÷4<ø5;ó49ë33ã1/Þ3,Ý6-Þ7.à5+ä3+é2,ñ1,õ2.ø/5ø03ú/2ú.1ù//õ/,î3,å7.à@4Ë9,½7+®/&·<5ÒXWÿ˜šù~ÿhÿe|ö]rîRhòHeÿAeÿ9bÿ5`üJlÕRd‰==K. >>&?I.IO5]]EWlAcxMqˆZx’by–`t•\r–Xq˜Wl•Sm–Rn—So˜Vr™Xt›\uœ]uœ]tœVtWv Xw¡Wv¢Uv¢Uu¡Tt S{¥[{£\zŸ\u—Zn‹Uc}MXrCSj>AW1?U/<R,[K;^N>`P@`P@`P@_O?`P@aQAbRB`P@_O?`P@bRBcSCbRB`P@fVF_QD\OF_TRcZ_f`nmkƒwv˜wy¢{}°}¸x|»qt·lo¶ln¸oq»suÙ|}Ù‰ˆÔ˜—Ш§Æ¹¶½ÉƵÓÏ©Ý×£âÜžçßžæÞäÜžâÙ ÙÒœÑʖѼ¸€¦~dÄ‹wÉ}m¶VJÓ`Y÷qnîZZêJLä>@é<>ì>@è:;ã56á34Õ=:Ë73Ê?8¹6.·>3¼L@³I;Å^OÛp`ÒaSÄH<½5)Ä0&Ö5-Ý4-Ü/)â43å95å<7à<3Ü8.Ù5)Ý5(ã5*í6.ï4-î1+ë0+ç0,ã2,á4.Þ5.Ò9;×>AäIMóW[ü\dü\dþ]eÿ`kôR]ïMXñQ[ÿ_gÿjqÿflô[`ëRU÷07ó+5ô+5ù-9ó&5è/ç'6í7DüP\ÿ[dÿclÿemÿepÿdoý[hõP^åFBÞ<9Û64ß63á53Þ20Û2/Û62à>9Û>7Ö<2×:1Ú91ß82å95è96é9;ê7:ë7:î79î79ì57å31Þ3,Û4,Û7-Þ7.á6,å2+ì1*ó0,ø1.÷05÷03ú/2ù.1ù//õ/,î3,ç6.ß=2Ò>2Â8-µ2*·82ØZ[ÿ“õw{ÿa{ÿ^v÷WqöOkøFfý=bÿ:cú=cëLhºJVw<8F5#7=#9C(DH/UP<Tf>`rJnƒXw_v“]t“Zp”Vn•Tk’Ok”Pl•Qm–Ro˜Vr™Zsš[sš[tœVuWuŸWuŸUtžTržQqPq›Qn˜Pl”NhŒLbFXu?Nh8F]/@W+@W-@W-AX.YL<[N>^QA^QA^QA^QA_RB`SCaTD`SC_RB`SCaTDaTD`SC^QAbUM^QK[QPcYakesqm„vu•y{¤y{®y~¶w}»ns·ei°bf°jn¸rvÀ}zᇃᖔߩ§Ù¼¸ÏÍÊÃÝظçáêå¡ïéŸðêžíæžéá¢âÛ¤×Ï ËĘ´°“¦œ˜„k§„p¥p`œRG»]UÞmi÷usð^_çHLæ@Dí@Dí=@ë7:ç36Ü>;Ô;6ÔA:Â70·7.µ?3=/µG8Új\Þj[×\MÊB6Å2(Ñ4+Ú6-Ú1*Þ44éA>ìGCà=6Õ2)Õ1'Ú2'Þ0%è3*é1)ç.)æ/)ã2,â7/á=4âA7Ã-,Ê43ÜCEðVXú^bùYaóS]òP[èFQêHSðNYü\fÿmvÿmtôY_ÜAGó*2õ,4ý1<ÿ1>÷*9ï&6ö6EÿJX÷ISõOY÷W_ü_fÿdkÿai÷Q[éBJÞ95Þ63ã75é<8ë<9ç85â51Ý60Ý:3Ù;2Ö90×90Û81á83ç:6ì:8à;9â:9ã99ç98è88å84à40Ú3+Ú6,Ú8-Ü8,á6,å3)ì/)õ/,ú0.ô15õ13ø02ù.1÷//ó0,î3,ç6.Ý9/ÛD9Æ9/»4.´0,â`bÿƒˆônuÿ_zþWsúPmþLlýDfø8_ö9_ðGf×ReDJi=4K@,7@%8@(ED/LE2N^9YkEg|Qr‰[tZqUmRkMi‘Kh‘Ki’Lk”Pm–To–Up—Xq—ZuWuWtœUrœTpšRm—Mk•Kj”LdGaˆE\~AUt;Li3E_/AX*>U'B\/E_2Ic6WJ:ZM=\O?^QA]P@^QA_RBaTD`SC`SC`SCaTDaTD`SC_RB]P@YNR[PVbXcjcsqm†vu•xz£z|w|´sy·mr¶bi±]cag±lr¾v|È‹‡æ”‘褡淴áÇÄ×ÕÒËáÞ¿èå²ëç¨ïê¦îé¥éã¥ãܨÛÒ§Ëß¾µ–Ÿ§˜š…‰v—‚q—se™cW³i`Ïrmû‹‰õutë[[çKNéCGî?Dî;?í8=ß:8Ý;8ßD?ÓC;Ã:0¹;/¯7)¦2#¾J;ÚbRék]ÛSGÉ9.Í3)Ö5+Ø4+Ù33ñMLý[XíKFÙ80Ö3*Û4+Þ2(à-&á,%á,%ß,'Ý0)Ú6-Ø<0×?2À0(Ä4,Î:6ÙCBßFHàEKäGPìLVñQ]öVbøXdû[gÿgpÿmuôY_Ø=Cñ.2ò-4ô-4ò*4í%2ì(6û<KÿS_í?IçBIèGMòQVþ[`ÿX]ôGMä5<á51ä73ê;8ó?>ô@?ð<;ç85à72Ü92Ø:1×90Ù80Ü71ã73ê86ì87Þ<9ß;9â:7ä;8æ:8ä84Þ5.Ø4+Ù7,Ú8-Ü8,á7*å3)ì/)ô/)ù/+ó25ô23õ12÷/1÷//ó0,î3,ç6.Ü8.ßG<É90¾3.´-*îfjÿy€ójrÿ`{ýTqþKkÿFjÿ=cö3[î<^äPhÄXe…DBbE7WP=DH1@D-JH3JB/IW4Sc?btLmƒUp‹XoŒRkŽNiŽKgIg‘Ih‘Kj“Mk”Pm–To–Wp–YtœVs›Uq™Sn—Qj”Lg‘IeŽHdG`‡D]AWy=Rq8Mi6Lf6Ne7Pe:Lf6Oi9Sm=UH8WJ:[N>\O?]P@]P@_RBaTD_RB`SCaTDaTD`SC_RB_RB_RBTLY`Xgnf{tp‰xt•xw¡xz«y{´sy·jqµ`g¯\b¬`f°kq»v|Æ~„Ε”äžžèé½¼æËÉßÕÓÔÝÜÊãàÁåâ¹çã¶æß³àسÚÑ´ÐůÀ´¤¯¥™”œ‰ˆ†y‰}qwk›sk§ngºoi扄î~ósróedòVYòLNðCEî>Aå95â:7äB=ÞE?Ì<3Æ=3ÂB51%¬1"ÇI;ÛYKÖN@Ì=/Î8*Ò6*Ñ3'Ö34õUUÿkhú]XâE>Ü;3ß;2ã80â4-ä1,â1+Ý0)Ö/'Ì0$Æ/$Â0#Ã9,À4'Á3)Ë:5×CAÛEGÛBGÛ@HàDOìOZóVaòVaú^iÿgoóYaÝDIð88í55ï26ð18ò3;÷9CÿHSÿVaä6?Ý4;Ý7;êAFøKOüIMô;@ê05å61ë95ñ;8ó;9ó;9ð:7é73â70ß;2Ü;1Ù;2Û:2ß82ä73è64ì65á<8ã;8ä;8è:9è;7æ95á6/Û4,Ú8-Û9,Ý9-á7*å3)ë0'ò/)÷0+ð45ñ33ô22ô01ö0/ò1,î3,ç6.Þ7.ÞD:Ê7/¿1-¾21÷jpÿrzøhrû]vúPmÿCfÿ<dÿ7cù6^éDbØ[m©W[uF>_L;_ZFQP;KI4PI6MB0DR1M[8[kFf|Nm…SmŠPlŒMhHfŽGgHg‘Ii’Lj“Ol•Sn•Vo•Xt™Vq˜Un–Pj’LfIcŒFaŠF_ˆDZ@X|?St;Pn8Pj:Tk=XmB[pEUp=Vq>Wr?RE5UH8XK;ZM=[N>\O?^QA`SC`SCaTDaTDaTD`SC`SCbUEdWG]Ulje|yu}yœzy£wyªvx±sw¶lqµcj²[c¬]e®hp¹w}LjІՙܡ¦à¯²å»¿åÆÇãÍÏÞÔÓØ×ÖÑÙ×ËÙÕÉ×ÑÅÒÉÂÌÂÀŹ»´§®¥˜¡‡Œ†xzuwvqulg~mfŒoib[œa[¾sm×zuï{ü|yÿrpýccöSTîHHñB=ê>:ã<6àA;Ñ:1ÒD:ÝTJÂ>2¸6)¼:,Â=.È?/ÏA3×C5×?1Ñ8*Ð23èLMú_]ñXSßD?Ø;4Û81à70æ92ç92ç92â92Ú9/Ñ9.È9+Ä8)®)¸3"È@2ÓI>ÒE>Ë;:Ì7;Ð9@Ï8AâHTïUaðYbõ^g÷`iêU[ØCIè?:ë?;ñAAúGJÿMRÿQYÿT]ÿV^á4:Ú/5Ú03ç7:ô=Aù:?ø48÷/2é61ï95ð95í41í1/ê20ç40á4.ã<4à=4Þ=3Þ;2à93ä73è43ë33æ:8ç98ê88ì89ì87é75ã4/Ü4+Û7-Û9,Ý9-ß7*ã2(è0&ï0(õ0*î45ð43ó32ó11ô1/ò1,î3,è5.à90Ù<3Ì70Á0-ÑAAÿnuýku÷coïSkóIfÿ;cÿ1`ÿ3bÿ<dçMgÇ]i†IFeH:YN<\WCXQ>RJ7QF4MB0AL.GU4Sc>`rHgMj‡MjŠKh‹GeFfŽGfHgJi’Nk”Rl”Um“Vq–So”Qj‘NgŽKcŒH`‰E_ˆF_†G\‚E[~DWxAVr?Uo?YpB]rG_tKYtAYtAXs@NB2QE5UI9WK;XL<ZN>\P@^RBaUEbVFbVFaUE_SCaUEfZJj^Nkg‚up|x›{y¡wx¨vwpt±jo±ah®^f¯_g°em¶pxÁ~…͉ؖܙ¡Ï ¨Öª±Û´¹ßº¿ß¾ÂßÂÄÝÅÆÛÆÃÖÅÁÒÁºÌ¼³Æ»¯Å´¨¾¦˜±—‰¢†‡‰qqstpqogevhe†nj`Y”e_š[T·g`×tnî{vÿ{wÿwsÿhfù[ZÿQKöGBè=6èC=Ø;4ÛG=ê\RÅ;0Ä<0½7+¾6(Ç>.ÑD3ÔC2ÔA1×A0Ò8:Ø>@ÜDCÛC@Ö=8Ó91Ø7/Þ7/å:3æ93å:3â;3Û>5ÕA5ÑE6ÌG8¬.¼;%ÌK8ÑL=Æ=3»0+¿10Ë8>ÕBJáKVëU`ðZeð]eìYaßLRÐ?DÑ4+Ö8/ß<7ê@@ñDFôEJñBIî?Fâ5;ß26ã36ï8<õ79ù14þ-2ÿ.4ë40ð95ò64ì0.è,*è/,è2.á2-ä=5à=4ß>4ß<3ã:5ç85ì65í55ì57ì57í57ï56ï56ì42å2.Þ1*Þ7.Ü:-Ý:+Þ8*á3(ç1&í1(ò1*í55î53ñ42ó11ó1/ò1,î3,è5.ã;2Ò4+Ò;4Æ20çUVÿpxùcnñ[gãKbóEfÿ7bÿ+]ÿ1bÿ@hÞKeRYd8/ZI7SN:UN;[P>VI8M@0MA1=H*CN.K[6Xj@ayGf‚HhˆIgŠFeŠDc‹BcEeŽHgLh‘Oi‘Rj’Tn“Pl‘NhLd‹Jb‰H_ˆF_‡H`‡H_…H_‚H]~I]yH]wH`wKcxOdyP[vA[vAZu@MA1PD4SG7VJ:WK;YM=[O?]QAcWGdXHdXHbVFaUEcWGj^NpdTvq‘yu˜xvtsŸrr¤su®lp¯bg«Za©^f¯em¸lt½u}ƈДڕœâš¤ÈŸ©Í¦°Ô¬´Ù°µÛ±µÚ²´ÚµµÛ³±Ö²®Ñ®¦Ë«¡ÄªžÂ¦˜»™‹®‹{Ÿ|y€dbgidhbY\g[[xeauXRe]ˆOHŸVO»aY×jcóvpÿ}zÿwuÿljÿZUÿPJñD>ôMGàB9ßF>êWOº,"¼2'½5'Ç=0ÑE6Ë>-Á2!É8%ÙF4ÞDFÒ9;Ë32Ë62Ó;6×<7Û<6á<6æ;4å82à5.Ø4+Ï5+Ê8+Ä<.Â>/ÑU;ÅI/»='½;+Ã=2Ä;5Â65Â37ÜKRÞLVâOYåS]éWaæU\ÝLSÒCGÉ5)Ð8-Õ81Ú64Ý55ß58á4:ß28å8<å6;ì9=ö<?ú6:ú,0ÿ).ÿ.4ë4.ò94ô86í0.é,*ë/-ê40ã5.ä;4à=4à=4á=4ä;4è96í76ï56í36î15ï05ð24ñ35ì31æ0-Ý/(ß7.Ý9-Ý:+Þ8*à4&æ1&ì1(ñ2*ì65í53ð42ò21ó1/ñ1,î3,è5.å=4Í/&×>8É53øceÿpyô\hêR_ÞHaõGhÿ:eÿ*]ÿ/aÿ@hÓE]–AFQ-!UJ8PN9OH5\O>YH8L<-NB2:D)?J*GU2Rd:]sBcEf†GeˆDcˆBa‰@a‹CcŒFeŽJfMgPhRlPkOfLcŠIaˆG_‡H_‡H`†I\‚G]€H]~I`|Ka{Ld{Of{Rg|S]xC^yD_zEAC8CE:IF=OH@RGAWI@]M>`O=aQ:aS9`T>_VGaZTfaeljwro€wožzt¢~wªzu«ro¨hf¥a`¢^^¦bahg·qoÃ|xÏ…€Ú‰ã—í–ó¢žÙ£ŸÚ¥¡Ü¦¢Ý§¡Ý¦¡Û¥ Ú¦žÙ¥Ö£œÒ¢™Ð¡˜Íž–É—ÁŒ‚´ƒy«mrvghlc_`e[ZlYUtUP€ULVK–RG¨ZN²ZP½\SÔmdç|tò…~üˆðxyõyyæabÜPQ×EEñYVÎ61È1(Ç5(Ä7&Â6%Ã8%Æ9'Ì:+Ð<.Õ?1Ô8+Ö=/Ø?1Ó;-Í5'Í4&Ø:.ã?5à90á90Þ7.×7+Ï7)È;)Ä@+ÁC,Ä;3È?7ÍD<ÏF>ÌC;Å<4»2*µ,$Ä>5ÍG>×QHÞXOá[RßYPÖPGËE<Ì<!Ò<$Û:(å4,ë--ó'0÷%2û$6ÿ(@ÿ'@ÿ'Bÿ&Bÿ%Bÿ$Bÿ!Aÿ!Aÿ:ÿ"<ÿ'>ÿ)<ö*6í.6ç48å;;Ü94Ü:5Ý<4à;5ã:5æ93é73é62ì25ì44ë54è64ä71ß7.Ú6,Ø6)Û9*Û:(Û:&Ü9&ß8%á8%â7#â7#í41ï4/ñ4.ó3.ó4,ï5)ê6(å8*à:.Ø7/×96Ý>BÿlyÿasþRlöGdÿIjû5Yÿ5]ÿ;eú=cãPj©LVT)":1 9<)EF4RL>PH;BC39E15K4FGHJ#MQ,U\:\jGcuOf}QeNc…Hb‡BaŠ>cŒ@eDjIl‘Nm‘Qj’IiFgŒFf‹Ff‹Hf‰Ic…Ic‚GdƒJdIc~Gc~Gd€FfFe~Dc|BX}8[€;^ƒ><?4?A6FC<JE?OF?TG>[K>^M;`O;`Q:^S?^WGa\Vhcinlyrqƒtnšvpžtp¢pm¢gfŸaaŸ]^Ÿ\\¤ed°kjºtrÅ}{φ‚ÙŽˆà”Žè˜’ì›—Òœ˜Ó™Öžš×™Ö—Õœ–Ò•Ñž–Ñœ”Íœ“Ê›’Ç™‘Ä“‰»ˆ®€w¦tmtkdkf]`e[YiZSoWMzVJŠVI›UK°\RºYRÁXRÓf_Þqjãvoêwý‡…ÿˆ‡÷uuðfdäTSíYUÇ2+Â/%Æ7)Ã7&À7%Á8%Ä9&É:*Ï;-Ó=/Ö8,Õ9,Ó:,Ò:,Ñ9+Ñ9+Ô8+Ø8,ß;1à90Ü8.Ø8,Ð8*Ç:(¿;&¼;%¿4-Á80Æ=5É@8ÊA9È?7Å<4Â91¾5-Ç>6ÑH@ØOGÚQI×NFÌC;À7/Ê8Ñ9"Û8)å4,ï./ö*3û(7ÿ(:ÿ+Bÿ*Bÿ)Aÿ&Aÿ$@ÿ >ÿ=ÿ<ÿ8ÿ9ÿ$;ÿ);÷-9ï29ê7;å;;Ü94Ü:5Ý;6à;5ã:5æ93é73é62ì25í36ë54è64ä71ß7.Ü5,Ø6)Û9*Û:(Û:&Ü9&Þ9%á8%â7#â7#é4-ê3-ì4,ì4*ì4*ë5(æ6)á7*Þ</Ó5,Ó52óTYÿesÿ[põGbüKhÿ@dÿ:`ÿ1[ÿ7aùImÐJb‰8?O,&=7'3:(:=,C@1F@0@?-;C.:H1@CKP'\b<eoLhvRezSd~Qd‚LaƒFa†@aŠ>cŒ@eDiŽHkMlPl’IjGhGf‹Ff‹Hf‰Id†JdƒHe„KdIc€HdHeGeGfEd}C\<_„?b‡B69.:<1??7E@:KB=OE<VH=[K<^O<\O<\TA_WLc^[helol}sq†sm™qk™jg–c`•\[”ZZ˜\]ž\_¦hjµno¿wxÊÒ†„Ø‹‡ÜŠà’Œâ“’Γ’Γ‘ЕДѓŽÐ“ŒÏ’‹Î•ŒÍ“‹Ç“‹Ä”‹À“‹¼Œ„³ƒz¥{r€dpt_fiZ]c\Vc\ReYKqWH„TF£ZQ¾_YË[YÐXWÛcbßliÝpkàwqûŠ†ÿŠ†ÿ…ÿ|yømhï`ZÄ4+À2&Ä8)Á:'¾:%À9%Â9&Ç:)Ì:+Î:,Ù9-Ó5)Î5'Ð8*Ô>/Ô>/Î6(Ë/"Ú:.Û7-Ù7,Ö8,Ñ9+É:)Â9&¼8#¾4*À6,Â8.Ä:0Ç=3Ê@6ËA7ÌB8Å;1Ê@6ÏE;ÐF<ÒH>ÑG=Ê@6Â8.Í6!Ô7&ß7,é3/ñ03ø,5ý*9ÿ*<ü'=ü'=û%=ù#;û!:ü8ü7þ7ÿ6ÿ6ÿ#8ý*;ù1<ñ6=é9;ã;:Ü86Ü:5Þ;6à;5ã:5ç85é73é62ï26î47í55ê65å61ß6/Ü5,×5(Ù9)Ù9)Ú9'Û8%Ý8%Þ7$à7$à7$â4+â4)å4*å5(ã6(â7&Þ7'Û8)Ý=1Ï2+×98ÿltÿ]nþPið=[ÿJlÿ5\ÿ=eü4[ô<`êTq«?Oa#(H1+79+-8'18&:;)B=*A<(@>)@B*?GY`4s~T€Œfw‡bi~Ub|MaI`ƒC`…?aŠ>cŒ@hŽEjJkMlPn”Kk‘HhGgŒGgŒIh‹KfˆKf…Je„Ke‚Jc€HeGf‚Hf‚GeFcDb‡BeŠEhH06*58-;<4A>9G@:KB;RE<VJ<XL<YN<YRB^WOc_`igrom‚ppˆpm˜jg”`^WW‹TUŽWY–\_¢ad«ko¹qtÃ{|Ì‚ƒÕˆ†ÙŠˆÛŒ‰ÚŠÛÍŽŽÌÎŽ‹ÎŠÑŽˆÐ‡Ï…Άʎ…ÆŽ†Á‡¼‡¶‰‚«€xxq“‹[i}WbmWYa]T\`Q\^IhYF}SCŸULÂZYÔW[ÝV\çbeçkkàplâysê}vì{uýƒ~ÿ†€ÿ{õkaÉ<2Â9)Â;(¿:'¾<&½;%Á:&Å:'È9)Ë9*Û9.Ö6*Ð4'Î8)Ñ>.Ð?.Ë8(Ç/!Ò6)Ó5)Ô4(Ò6)Ñ9+Í<+È=*Ä;(Æ9/Æ9/Æ9/Æ9/Ç:0È;1É<2Ê=3ÒE;ÒE;ÐB8Ë=3Ë=3ÏA7ÏA7Ë=3Ñ4#Ø6)â5.ë31ò/5÷+6û(7ü)<ù&9÷&;÷&;ø'<û&<ý%<ÿ$:ÿ#:ÿ!7ÿ"7ü%7ù-9÷5>ñ:?ç9:à87Ü86Ü:5Þ;6à;5å95ç85ê65ë54ñ27ð37î66ê65æ72á6/Ü5,×5(Ø8*Ø8(Ø9&Ù8&Ú7$Ü7$Ý6#Ý6#Ù6'Ú7(Û8'Ü9(Ü9(Û:(×:'Ö:+Õ;/Î3.éIKÿo{ÿVjøDaö=_ÿCiÿ/[ÿ7`û=cëLlÆOe€0=G >3--3'+8'2=,=B.B@+C;$G="MA'R_*q}MŸp—¨|ƒ˜mj„W_{J]~E_ƒCa†@b‹?fCk‘Hl‘Lm‘Qm‘So•Ll’IiŽHhHhJiŒLhŠMiˆMf…LdƒJdGe‚Hf„Hh„If‚EeDf‹FiŽIl‘L-3'17-7:3<;6B=9G?<MD=QG=SI=SK>UOCZUQa_dhgukkƒllˆjg’baXV‡PP†QQXYš`cªfj´orÁuxÉ|Ѓ„Ö†‡×‰ˆØŠ‰×Œ‰ØŒŒÌ‹‹ËŠ‰Í‰‡Ð‰…ш„ÑŠƒÓ‰‚ÐŒ„Ï‹„È…Á†º†²‡¥}x–vpŠ“ScƒQ\qUT`^RVcOTbH_]DvUB’LB¼RRÖPWàPYé\dèejâljâwqâvláphõ~vÿ‚{ÿ‡~ôkaÉ?2À8(À;(¿='¾='¿='Â;'Å:'Ç8(Ê8)Ü8/Ú7.Ô8,Ï9+Ê;+È;*Ç:)É7(Ï9+Ñ7+Ô8,Ó7+Ï7*Ì8*Ë<,Ë>-É=0Ê<0Ê<0É;/È:.Æ8,Å7+Å5*Ð@5Ð@5Í=2Ë8.Ë8.Î;1Í:0É6,Ò.$Ù0)ä2.î23ô/8ù-9û+;ü+>ü-?û.?ú0@ü/@þ/Aÿ.?ÿ-?ÿ->ÿ)9ý)8ø*7õ0:ó6=ì9=ã77Ú53Ü86Ü:5Þ;6â:7å95ç85ê65ë54ò38ñ48ï56í76æ74á6/Ú6,×5*Ö9*Ö9*Ö9(Ø9&Ø9&Ù8&Ú7$Ú7$Ô9%Õ:&Ô<'Õ=(Ô=(Ô=(Ó>*Ó=.Ð8-Ù;8ÿ^eÿaqÿPi÷;\ÿAiû6aÿ/]ÿ.WøIjÛYq•>NX'-?+,730*1)-9-5@/:B+<<"B;VG(iV6v‡P£lª¾‹¨¾Ž¥wo‹[aK^F`…BcˆBeŽBj“Go•Lp•Po“So“Uo•Ll‘KiŽHgŒGiŒJiŒLi‹NhŠNf…Je„IdƒHfƒIg…Ih†Hg…Gf„FgIi‘Kl”N*2%.4*470894<;7B=:HA;KD<NH<NH<OKBUTR_^ffewggfg†ba[YŠQQ…NO‡RS“[^£ei³lo¾sxÊx}ÑÖƒ…؆‡Ù†‡×ˆ‡Õ‰ˆÔ‡ˆÈ†‡È……Ë…ƒÎ„Ð…€Ô…€Ô‡Ò„ÓŒ…Ë…Á…¸‹…«„{vŒrn•N\ƒNTqTPa_PWgMReI\`EsXCOCºTRÔSXàPZëYcé`gähjçqqê{rärhö}tòsjþxmæ\QÄ:-¾5#À<'À>(À>(Á=(Ä;(È;)Ì9)Î8*Ú3+Ù6-Ö:.Î:,Ç:)Â9'Ä;)É=,Í>.Ö@2ÙA4×=1Ï7*Ê4&Ê8)Ë<,È:,È:,É;-Ê;-Ê;-È9+È6)Ç5(Ê6*Ï;/Ò>2Õ>3Ö?4Õ>3Î7,Å.#Õ)%Ü-*ç02ñ29ø0;ü/>þ/?ý0Aú0@÷1@ö2@ö0=÷/:ù-9ú,8ü*7ý/<ù/;õ0:ñ2:í6;æ68ß55Ù42Ü86Ý:5ß:6â:7æ87é77ê67ë54õ49ó49ð69í76æ74ß6/Ú6-Ö6*Õ7+Ô8)Ô8)Ô9'Õ8'Õ8%×8%×8%Ï:$Î<%Î>&Í?'ÍA(ÍA*Î@,Ï=.Ð71éIKÿgrÿOdÿHfû7]ÿAmý/_ÿ1^ø1XåOj¹Wfh39@*,?994443524925>-2<#29ECl`8Ž}R™±u©Á‡µÎ—È•’®}v”be†Q_ƒF`…Bc‰@gDo•Jr˜Or—Rq•Up”Vo•Ll‘KhGf‹Fh‹IiŒLi‹Ni‹Og†Kf…Je„If…IhˆIjˆJi‡Gg…EhJk“Mn–P(0#*2'/4-350664<87@<9C>8IE<HE<KHCQQQ[[eabvab~`a€_]ŽZXŠTTŠTT\] gi´psÄtyÍ{Ø~‚Û…Þ„†Ýƒ…؃„Ö…„Ò†…Óƒ‡Ç„…ȃƒË‚̓ӄ€Õ†€Øˆ€Õ„Õ‹„Ê‹ƒ¾‹ƒ²ˆ‚¤|’uqlirŒOVNQpUNc`OYgMVfI]dEo]EˆTF²[TÌXYÙSZæYaé\dèaeðknñ|rìsj÷xoÞYPå[QÒD8Ã5'Æ:)Ã:'Ã<(Ä='Æ=*É<*Í:*Ð8*Ó7+Ö/'Õ2)Ò8,Í;,Å<*À;(À;(Ã<)Ç;*ÕC4áK=ßG:Ô</Ê4&É5'Í;,È9)È9)È9)È9)Ê8)Ê8)Ë7)Ë7)Í7)Ó;.×?2Ù?3Ú@4ÝA5×;/Ï3'Þ..å12î49÷5>û3>ú0>ú0@ø/?ò.<ï/<í/9í07í.5ï,2ò+2ò)/õ1;õ3<ò5;ì59ç47á55Þ65Û75Ü86Ý97ß:6ã:7æ87é77ê67ë46ö5:ô5:ñ7:î87æ74à72Ù6-Ô6+Ñ8*Ð8*Ð9(Ð9(Ð9(Ñ8&Ñ8&Ó8&È:"Ç;"È>$Ç?%ÇA(Ç@*Ê>-Î;1Õ:6üU\ÿ_oÿGcÿ>bÿ8cÿ6gÿ0cÿ4\òCbÈMa…BIL44:97<<>948>58<7379+3="8DS[,ƒPª£o«Èˆ¯ËŽ¯Ì’¦Ã‘¯}{™ggˆQ^‚E^ƒ@c‰@iDo•Js™Ps˜Sq•Uo“Un“MkJgŒGeŠEgŠHh‹Ki‹Ni‹NfˆLd†Id†Ig‡Hi‰JjŠIi‰FhˆEi“Kl–No™Q&.!(0%-2+130333756:97>;6GD=DD<GFAOOQZZd_`t^_{\]|`^\ZŒYX‘\\œgg¯qrÂz|Ó}܄ゅ䃆ㄅႄۂՂ҃‚ЄˆÈƒ†É„„̃‚Î…Õ†‚׈‚Ø‹ƒØ…ÒŒƒÆ‹‚¹‰‚«…›xˆsntjfgSPuRLjWIe`MafO\gI`cFn`FxR?[M·ZSÆRRÚUZåV\ëX`ö`iótkïof÷qhÑD;ÔA9Å1%È4&ÔC2Ç9%Ç:&È;'Ë=)Î;+Ó:,Ø8,Ù7,Ð,#Ð/%Î6)Ë<,Ç@-Á>*½<'»8$¾5#ÑB2ãOAäN@ØB4Í7)Ë7)Ð>/Ê;+É:*Ç8(È6'È6'Ê6(Î8*Ð8+Ó;.Õ;/Õ9-Ó5*Õ7,Ü;1Ý<2Ú9/ë7:ñ8=÷:Aü8Bü4A÷.>ò,;ï,:í/;é19è38é58í57ñ48ô36ö45î49ï6;í9<é69â45Ý33Ý86ß;9Ü86Þ97á98å99æ89é69ê67ë46ö5:ô5:ñ7:î79ç85ß82Ø7/Ó7+Ð8+Í9+Í:*Ì;*Í:*Í:*Í:(Ï9(Ä: Â: Ã=$Á?%Â@(Ä@+É=.Í81ß<?ÿ[hÿQhÿHhÿ7]ÿ<jü,]ÿ7iì;XéYp§LUX00?<5<E@99;B3:G08F21?9+<E(DW*at=Žœ_²»|®ÌŒ«É‹¥Ä‰œº„Ž¬zy™gf‡PZ|@]‚?a‡>hŽCo•Jr˜Or—Rp”Tn’To“MkIgŠFeˆFf‰Gh‹Ki‹Ni‹NfˆKe‡Jd‡GeˆHgŠHh‹Gh‹GfŠDj”Lm—OpšR(0!'/"(-&+-*.0/333775:94==5?@8DE?JLKQQYVWiZ\s]^|YW†[Y‹^]–ee¥nn¸wxÊ€Ú„„䊌ðŠŒðŠŠì†‡ä‚‚Ü€Ô‚€Óƒ‚Ò€„ĄǃƒÉ„„ΆƒÒˆƒÕ‹ƒÖŒƒÒŠ€ÇŠ€½‰±…~ €xwpxkeec^XpZMm[Mi\Kf^Kd_IcaHfbGl`FlR;„UA£^O¿aYÑYXßPTñQ[ÿXbôkcæYRÔD<Î70Ñ7/×;/Ø</Ô;+Ï9(Í:(Í:(Ð:)Ô8)Ù7,Ü5,ß4,Ð/'Ï2)Ì8,Ê>/Å@/Á@-¾=*¼9'Â9)¾0"êVJáJ?Å.#Ñ=1Î</Ç8*Ê;*É:)È9(É8'É6&É6&Ë5&Ì4&Ð7)×;.Ü>2Ü<0Ù7,Û7-â>4éE;øAFó8?ð3:ö4?ö2>ñ-;ï,:í2=ì7@æ5;ã68å78é99ð:9ñ86ò65ï==î<<ê:<æ89á77ß76Ü75Ü75Þ97á98ã99æ::é9;ì9<í9<ï8<÷6;ô5:ñ7:í9:è:9à;5×90Ï7,Ë7+È9)Ç:)Ç:)Ç:)Ç:)È;*È;)Á9!Ä>%½;#µ5»:$ÈE3Í@6Ê0.ÿ^eÿVgÿHcÿ;\ú0Xø/[ý5cÿ<jã\m¯EOo33G6.9C8:E==9:B+3P-4N00D7'CJ)Wo=}›_œ¹v«Å~«ËŒŸ¾‚˜·~”²~‚ nf„RXvBY{?]€>c‡?iDn”Im•Ll”Nk’Qj‘RjŽHfŠDc†Bc†Df‰Gh‹Kg‰LdˆJg‹MhŒNg‹Kf‹HeŠEf‹EjIm“Jp›SrUtŸW*0")/#).'+-(-/.222553782;<4>@5BC;HJGOPTSUaXYm[[s\Z‚^]‰da–kj¦us¼}Ї‡á‹‹íŒòŒ‹ñ‰‰í…„ ڀ~Ҁσ€Ï…†Æ†‡È‡ˆË‰ˆÎ‹‡ÑŒ†Ð…ÎŽ„ÉŠ€½‰³†{£‚x‘{s€tknkd^e\SbaLb`Ke^Kh]Ii\Ij^Hk_Gm_EraG{]CŽ[Fª[LÆWPàQS÷PXÿS`ìWQãKFÛ>9×50Ú5/Ý90Ü8,Ø8*Ó8&Ñ8&Ñ8&Ô8)×7)Ü5,à3,ã2,Ë1'Ë4)È9+Æ=-ÄA/Á@-¾=*¾9(Â9)Ë<.åQEÜH<È4(Ì:-È:,Á5&Ê=+Ê=+Ê;*Ì;*Ë:)Î8)Ï7)Ï6(Ó7*Ö8,Ù7,×3)Õ1'Ø1(ß7.å=4ûBHò7>í07ï/:ò0;î.;ì1<ê6?ã6<Ü36×32ß:8îEB÷JFøEAõ?<è:9æ:8å97â96á85à85á98á98à87â88å99ç9:é9;ì9<í8=ì7<ô5:ò59î68ê88æ:8Ý:5Ó91Ë7-Æ8*Ã:*Â:*À;*À;*Á<+Á<+Á<+½9"Á?)¹;$²5¸;'À</É:2Ø<=ÿ]iÿOdÿ@[ü6Yù5[ø:`ö=fô@g¡EJ„>>];2@>/3A05?4E=:X;?T-0X51ZI7bjEu[Š±pšÄ|žÈ|š¹}š¹€™·ƒ©yr`YuESq?\{B_>b†>iCm“Fl”Kk“Mh‘MhQhŒFeˆDc†Bc†DgŠHiŒLhŒNg‹MiOiMiŽKgŒGgŒGfŽGj’Im•LnœQoRr U-1"-1#,/&,.).0-11/34/45-9;0<>1@B5EH?KMLQRWUTbXWi\Yx^]fcŽpm¢zx¹…‚ÏŠáíŽñŽŒïŠˆé‡ƒá~Õ|Í}È}Ç…‡ÄˆˆÆŠŠÊŒŠËŒŠËŒ‡ÇŒ„À‹‚¹‰€¯†|¡€v‘{p€ujpod`i_Ue\MXeK]bKa_Jh[HmZIp[Hq\Go]EtcItZ?‚V= WDÅYMäTSûNTÿIUß@<Þ<9Ý84ß61á6/á6.Þ6+Ú7(Ö6&Ó8&Ó8&Õ8'Ø6)Ý5,á3,ä1,Ç5(Å6(Â9)Á<+Á@-Á@-À=+À8(Ã5'ÜJ=ÜE:ÕA5Î</Ä6(Ä;+¼7&Æ:)Ç:)Ç:)É:*Ê8)Ë7)Í5(Í3'Ö8-×6,Ö3*×3*Û2+ß6/å:3è=6ò;?í4:ë07î0:ð2<í3>ë7@ê=CÜ7;áAAìNK÷ZUüZUùRLïB>è62à72à74à74ß74à85á96ã;8ä::á77ä88æ89è8;é9<ë8<ì7<ì7<ò38î47ì57ç77â:7Ù:4Ï8/Ç7,Â8+¿:+½;+»<+»<+»<+»<+»<+º9$¾@*³9$°7$¶;+´2%Ã40îOTÿZiÿH`ù8Uó6Vó>]ñFfçHfÞEat?9e?6QA2@C04?.29)>5,O61K*#W:,j\Bˆ_«t”½{“ÃyÃv•²|œ¸…™µ…€šm\uKHa7Nh9[xB_}?c„?hŒBl’Ej“Gh’JgLeMe‰Cd‡Cc†BeˆFh‹IjŽNkOjŽNkOkOiMhJgHi‘Hl•Ip™Ms¡Vt¢Wv¤Y25$13&02'01+12-23.34.46+9;-;>-?B1DF9IJBNNNRQWTR]XVd\Zoda~nl”zw®„ÄŒ‰Ø‘Žå”‘ì“펋扅ڂÎ{Å|¿‚}¿ƒƒ¿……Á‰ˆÂŠÃ‹ˆ¿‹„¸‡®…}¦…{€vŽzm~sfmoa`k^Vi[NgZJVdJZbJa_JjZJpYIsYJtZIs]FqY?tU9†T;§ZFÌ\PæRNóEGù:AØ3/Ü41á51ä50ã5.â4+à6)Û8)Ö7$Ó8$Ñ8&Ô9'Ø6)Ý5*à3,ã2,Â8+¿7)»7(¼:*¿=-Â>/Ã;-Ä8+Æ3)ëTKÔ;3Ì8.ÑA6¾4'À<-½>-Ã7&Ä8'Æ9(Ç:)Ê8)Ë7)Ì6(Í3'Ó5*Ô3)Ö2)Û4,ã:3é>7ì?9ë>8è47ì59ï6;î5;ê2:æ39ä7=á<@óUVûc`ÿnjÿidóVQäA<ß61à3/Þ71Þ71Þ71ß82á85â96å97æ::å78æ89è8;é9<ë8<ë8<ë8<ë8<ñ48î68ê67æ87à;7Ö<4Ì9/Å8.½9,º;,¶;+µ<+´<+´<+³;*³;*³:'·@,8&¬9'±;-«+"Ã54ÿ_gÿSdýE]ó;Uí<XéG_áOdÐP_ÄKZcPAVI8JE2CF1AF0<?*<7#>1B2SE*okHŠ“f•¬t´t‹¹q‹½t¡¹‰¡¸Š§}l‚\K_:BV1Lc7Yq?_{@dƒ@i‹Ak‘Di’Fg‘IdJbLc†Bc†Bd‡CgŠHjMkOm‘Qn’Rj‘Pj‘Nj’Li‘Jg‘Gi“Gm—KqœMu¥Yv¦Zx¨\78(78*66,56056156167/68+;>-=@+@C.DG4IK=NNFQPNSQTVUSYY[a_lkius›€}´ˆ…ÈŒ‰Ö•’ã”äÞ‹‡Ó„Æ}º|µ€{±~¸‚º‡„»‰…¸Š„²†¨z›€xs‡znzrfjm_\j[Tk[NjZKjYI^bK_aKe^Kk[KpZLtZKw\Kz[G{WAƒS=—U?³XFÍSFÝF?å76ê01Û2-ß3/â5/å4.ã2*à2'ß5(Ü9(Ô7$Ð9$Ï:$Ñ:'Ô8)Ù7*Ý5,à3,½>-¹:)µ6%·8'½;+Â=.Ç;.É6,Ñ80ö\T×=5Ë4+ÏA5¸3$·:(¹@-Â9)Ã:*Æ:+È:,Ê;-Ì:-Ï8-Ñ7-Ñ3*Ò1)Ö1+Þ71ç;7ë>:è;7æ74é77ï;<ð<?ê69ä15ã6:èBFìNOÿxwÿqnða[ÛKCÐ83Ñ2.Ü73è?<à93à93ß82à72à72ã75å76å78æ68ç79è8;ë8<ë8<ë8>ê7=ê7=ð69î79ê7:ä::ß=:Ö=7Ë;2Ã;/¸9*´;*±<*¯<)=)¬<(¬<(¬<(«:(¬=*¤9'¥:*©9-«0)ËAAÿgr÷L^÷E[ðBYèF[ÛN^ÈT]´VW§SQSU@LN9JG4JE1FD-AA'>C#@G%MU.^g<xTŒ˜f‘¤m©nŽ²r’¼z µŒ’§€u†dRcC?O2BS3Oa;Vl=b{Be‚@iŠCjEi’Fe‘FbH`Ie…Bd‡CgŠFiŒJkŽNlPn’Ro“Sj‘Pk’Oj“Mi“Ki“Ik•InšKržOu¥Yv¦Zw§[?>,?=.==1==5=<7;<6;=2;=/?B-@D+CG,GI1KM8NOASPITQLYXDZ[M_^Zgepqo‡{y¡ƒ€·‡…ƌӋՊъ…ǃ€¹~zzw¤{u¡zw°|y°€|®~©‚~£y•|t‰zrvkqrffm`Zl[QlZNl[KmZKmZIg^Mi]Mi]Mj]Mn]Ms^My^M€[I“`OšWG§N@¹I=Æ@5Ð6.Ù0)á0*á51â5/ã4/â4-à2)ß3'Ü6&Ú;(Ð9$Í;$Ì<$Í<'Ñ:)Õ9*Ù7,Ü5,ºA.´;(¯6#°5#¹:)Â=.É;/Í6-Û>7ùZTåHAÐ90Ì@3¸6&«4 ±>)¿7'¿7'À7'Ã7(Å7)É7*Î7,Ð8-Ù<3Û:2Þ93å<7ê>:ê=9ç85ã41è96ë<9ê::è8:ì>@øORÿccÿqpùheàUPÈ=8¿2+È5.Ö;7à<:â:9à<3á:2á:4á83ã73ä65å55æ68é69é69ê7;ë8<ë8>è7=è7=ç6<ð8:ì8;è8:ã;:Ý>:Ó>7É<2À</´9)°;*¬;)ª;(©<(¦;'¥:&¥:&£<)Ÿ:(Ÿ<)ž:*¡7*´?8ÛTXüdpðK\ñH]ìI\ÝL[ÉRX±WVœ\R^OAP9FN9NI5K>+>467>O#Jh4gTt•\„›c‹™dŽ›f‘¢l•¬t•²x„”pn}\Q`C=J09F,BO3O_;Xi=czDgBkŠDk‘Dh’Fe‘F`G`Gf†Ci‰FjKlMlOkOm‘Ql“Rm”Qm”Qm–Pl–Lk—Jm™JržOu¢Qy¬]y¬]x«\CB0DB3DB6EB9CC;CC;BB8AD3CG0EH-GJ-JM0OO7RQ?TREURI[\:\\@\]Kaa_ihvrq{z¦~µ†‚¿ˆƒÃˆ„Á„¸{ysŸtp•qmŽol£rn¡tq wršwrtoƒskxrilmb^l_Vj\OlZLn[Lo\Kq\Kq\KrZNq[Nn\Nl_Ol`PqaQy_N†[KŸ_S¦OE°A8½:2È5-Ï1(Ø1(Ý5*â70á6/á4-á3*à4(ß5(Ù6%Ô9#Í;"Ê<$È>$Ê>'Í<'Ò;*Õ9,Ø8,·D/±<(¬5!4!¸9(Ä<.Ì9/Ï5-Ú83ñNIòSMÙB9ÌB5½@.¥2¬?(À;,Á9+À8*À6)Å7+É9.Ï;1Ô;3áD=ãA<ä?;ç>;é=;é;:è88ç77æ93æ95å84é;:ôJJÿ\[ÿdc÷caË=9¿82»4.Ã81ÓB=ÞE@ß=;Ù42â;3â;3â92ä84å84æ66é77é77ê69ë6;ë6;ë8<ë8>è7=è7=ç6<í68ê69æ89à;9Û>9Ñ>6Æ<1¾<.²8)®;)ª;(¦;'¤;&¡;%¡:' 9&ž?-”7%š=,—:)˜3'ÂQKíkmï\fïN^ìI\àHWÎJU·SS¡]RŒfQ‚jP=S<CL7JB/L7$F5FH!Tq;c–Txµo€µo‚¦f~‘Y…ŒX–cŒ–d|YXeGGT89E-8A,:C.?I0JX7Wh>g{Fh‚Cl‹Ek‘Di“Gc‘Fa‘G^Gi‰FlŒImNn‘OlOjŽNkOk’Qp—Tp™SpšRo›Po›NqNv£Rw¦Uz^z^y¬]GD3HE6HF9HE<GG?GG?FF:FG5GI1HK.JM.LO0QQ7SR=VSDWSG[\4Z\7[[C\\Rcbhmkusšzx©~{´€|·‚¸€|¯zw¢so”mj‰kf„gb˜hd—lf”lh‹lhleuibij`^g]Th\NjZJl[Io\Ks^Ms^Ms\LzWQvYQp\Ql`PkbQpcR{aPŠ\OžUL§D>±61Á3/Î5/Ö5+Ù7*Û8)ß6/ß4-à3,à4*â6*Þ7'Ø7%Ï7 Ì<"È>"Æ>$Ç?'Ê>'Ï<*Ó:,Õ9,µE/='¨3¬3 ·8'Å;.Ì9/Ò5.Ò/*ä?;ûYTàI@ÎD7ÆI7¥5®D,ËF7ÉD5ÉA3É?2Í?3ÒB7ÚF<àG?ßB;à>9à;7à74â64ä65ç77é99é>7ç:4ä73è<:ñIHñMLØ=;¹(%¸-(¼5/Å@9ÌC=ÐA;Ö=8Ý>;ã?>á:2á:2â92ä84æ95è96ë99í9:ë7:ë6;ì7<ë8<ë8>è7=ç6<æ7<ì59è58å78ß:8Ù<7Ï<4Ä<0º:-°8(«:(¨;'¤;&¡:'Ÿ:&Ÿ:&ž9%š?,4"—>,“:*“1&Ì\X÷y|æT_ðTbèI[ØDRÃGO®SPšbS†lS{rSC[C?H3B7%O6"_K0prJ€£iˆÇ€yÃt{¾qu¢]oƒHy}J‡†Xy|O\d5:D)3=$4>&<E2=D2:B+EP2Ve<g{HiƒDl‹Em’Ei“Gd’Ga‘G^Gk‹HnŽKo’Po’PlOiMjŽNj‘PsšWsœVsUržSržQu¡Rw¦U{ªYt§Xs¦Wq¤USJ;SJ;SJ;SJ;SJ;SJ;SJ;SJ;VM>WN?XO@YPAZQB\SD]TE]TEcZKbYJbXNcXRg\Zmacsfmwjs|n{~p}s€s€~p}wjtobli\fcb]a`[a^W_\U_[R^ZOa[ObZMe\Kg\Ji\Ii]Gk\El]Fm]Dm]D_gOkiTqZH{M@•RI©WL®TI³WH¦N:¢G2¢?*ª;(¾:.Ò72à23å,1Þ7.Þ7.Þ7.Ü8.Ü8.Û7-Ø6+Ø6+×7+Õ7+Õ7+Õ7+Ô8+Ô8+Ô8+Ô8+¸=.·=.°8(§2!ª2!´;*½>/Â:,Æ6+Í6-Ô:2ÜB8àI>ÖG9Ç;,¹1!ßOGÙIAÔE=ÓE;ØH?ÜG@àC>á<:ã54ê67ï8:í9:ç77à72Ý:3Ü>5ÎKAÈE;½=0µ7)°5&³8)¹>.ÀA2Á;/Ê<2Õ>5ß=8ç;9î79ò67ô68æ7>æ7>æ7<å8:å99å97ã:5ã:3Þ5.ß6/ã81ä84å97ç98ç9:ç9:ë;>ç9;á99Ü<<ÖA=ÌC;ÀB6´@3¦;+¢=+>,™<*–;(•:'”9&“8%‡F2‡>/†/%”-(ÀIKèkoçlqÊWZ¶OP©TQŸVO˜YP•[P–]R™^Vœ`XMb!:O3JOf x’I˜²h¡½r »t™²pƒ›akN\lEWdHS\GHN@=C9;<,AB4=?2:=2<B6:C2AN4Rc?\tBgƒHpKo“Il’Gj’Ij’KgJlUm‘To“Ul“Pk“Lk”Hl—Hm˜FpJoŸIp Jr¢Ns¥Pv§UyªYz«Z{¤jo˜^dSWN?WN?WN?WN?WN?WN?WN?WN?XO@YPAYPA[RC\SD]TE^UF_VGd[JcZIcYMcYOf[Uj_]nbdpcjrentgpvirvirsfom`ggZacW[\\T\YRYVOWTKXTIXTI\VJ^VIb[Ic[Hf[Gh[Hi]Gj^Fm^Gm^G]eNmhTt]M‚RFšVMVM²QH¶QE®H9ªC2©>,¯:)½9,Ì70Ø42Þ22Ý6-Þ7.Ü8.Ü8.Û7-Ú8-Ù7,×7+×7+Õ7+Õ7+Ô8+Ô8+Ô8+Ô8+Ò9+¸>/·=.®9(¥2 ¦3 ²:)»=.¿;,Æ:-È4*Ì3+Ó;0ÜE:ßPBÞRCÚQAÝE@Ø@;Ñ<6Ð;5Õ>7Ø=8Û96Ý33é69í68ï79í68é77å97â=9á?:ÆC9¿?2¸:,±6'¯5&²8)¸=-¿@1ÅA4ÍA4×@7ß=8å97ê67ï56ô68ç6<ç6<ç7:æ89æ87å97å95ã:3â92ã:3ã:3ä;6æ:8æ:8å99å99æ9;ä:=à<=Ú?=Ñ@;Å?6¸<2¬;-¥;+ <,œ=+—<)–;(’:&‘8&7%z;)€8)‰5*ž;5ÁQPÚceÔ]a¹MMNL¤SOYP˜\R—^S—^U˜_V™^VSg*Sg(^r3zO—°l¥¾z™²nˆ¡`j‚Fau@Sf9IY5FP7?H59?358/;<,AB4=?2:=2;A5:C2@M3Rc?]uCgƒHqLp”Jm“Hk“Jk“Lh‘Km‘Tn’To“Sm”Qk“Lj”Hl—Hm˜HpJnžJp Ls£Ou¦Tx©Xx©Xx©Zm–\b‹QY‚H]TE]TE]TE]TE]TE]TE]TE]TE[RC\SD]TE^UF_VG`WHaXIaXIe]He]Jd[Jd[Le[Qf[Uh]Yh\\i]]j^`k_ak__i]]f[YbWU`USYVMWTKTQHRNCQMBSOCWQCXRB^WG^WEaYFc[Fg\Hi^Hk`Jk`J^cOmhUy_PˆXN¤[T³VQ´HE¸E>¹@7¸>3·<-·9*¼8+Ã9.Ê:/Ï;1Û7-Û7-Û7-Ü8.Ú8-Ù7,Ø8,×7+Õ7+Õ7+Õ7+Ô8+Ô8+Ô8+Ò9+Ò9+º@1¶>.®9(£2 ¢3ª:&µ=,»=.Ä?0Å7+Æ2(Ê3(Ð<0ØF9ÛM?ÝQBÜ87Ø43Ô20Ô52Ù:7à>;å=<é;<ï8<ï5:ì27ê24é56å97á<8à=8¹;-·9+±6'®4%5%°8(µ<+»=.ÈD7ÏC6ÖB8Ü=7â96è64í55ò67ê5:é6:é69ç79ç77æ95å:3å:3ã:3ä;4ã<6ã<6ã;8â:9á99à88Ý9:Þ;<Û@>ÕA=É>7º:17+¥7(¡;,œ=+˜=*”<(’;(9&8%Ž7$u8%y6%ˆ9,¢E=ºROÂVT¹OO¬HH¤LHœSL˜ZO—^S–bU—aW˜_V˜]UgxB{ŒU“¦n¥¸€«À‡ž³zz‘YYp:?R$AS)AQ-?L0:C.6<.690581:;+@A3=?29<1;A59B1@M3Qb>_wEi…Js’Nr–Lo•Jm•Lm•Nk”Np”Vq•Uo–Sn–Pl”Kk•Il—HmšIpJpJp Lu¤Sx©Xyª[u¦Wq¡U_ˆNVEOx>aXIaXIaXIaXIaXIaXIaXIaXI_VG`WH`WHaXIbYJcZKd[Ld[Le]Ff^Gf^Ig_Lg^Of\Pf\Rf\Sh]Wh]Wh^Uh^Ug]Se[QdZNdZN]YNZVKVRFRNBPL@PM>RO@UO?WQAYTA[VC^WDaZGd]Jf`JgaKadSleUt]O‹[Q«b\»YXºDD¾9:Æ;8É:6Ç80Â8-½8)¼:*½@.¾C1Ù7*Ù7*Ú8+Ú8+Ú8+Ø8*Ø8*Õ8)Õ8)Õ8)Ô8)Ô8)Ô8)Ò9)Ò9)Ò9)»A2¶>.¬9'¡4 2¢8"¬=)µ@.¼>/Á9+Ä6*Ç4*Ë7+Í;.Î</Í>0å26á14Ý02Ý34à88å;<ë=?î;?ï6<í38ì/5é05ç47ã77Û64Õ30±7(°6'®6&¬7&¬7&®9'²:)µ:*ÃA3ËA4ÔA7Ü?8â:7ç85í76ð67í6:í6:í68ë76ê86è94ç:4æ;4â92á:2ß:4à;7Þ:8Ý98Û97Û89Ö<:Õ@<ÓB?ÊA;»;2¯6+¥5'ž7(œ;*—<)“<)‘<(:&8$Œ7#Œ6%z@,v5#6'™E;¬OH¬MI©LG¨PLPH–VL“ZO“_R“bT•aV—aW™`W~‹]™©z½Ž¦·Š¡ts†YN`8/A->3B%:F.=F3;A3:=2;<4<=79:*?@2<>19<1:@49B1?L2Pa=`xFj†Kt“Os—Mq—Lo—No—Pm–Pp—Tq˜Up˜Ro—Pm•Ll–Jn™JoœKqžMrŸNt£Sy¨X|«]w§[mSd”J[„LS|DNw?cZKcZKcZKcZKcZKcZKcZKcZKcZKcZKd[Ld[Le\Mf]Nf]Nf]Nf_Eg`Fh`IiaLiaNi`Oh_Ng^OjaRi`Qi`Qh_Nh`Mh`Mh`KiaLb_P^[LYVGTQBPM>NK<NK:NK:PM<RO>TQ>VS@YVC\YF^[H^]I`aSf^QmWJ†[RhcÁb`ÄLMÌ@CÔ:<×79Ö74Î70Á9+·>)²D+°H-×7)×7)Ø8*Ù9+Ù9+Ö9*Ö9*Õ8)Ô8)Ô8)Ô8)Ò9)Ò9)Ò9)Ò9)Ò9)¼A2¶>.«:( 7"™5š7 ¢>&¯B-±<*º;*Â:,È8-Ë8.Î:.Ð<0Ò>2ò5<î3:é27ã36â46â46â46ä15ì5:ì39ê38ê5:æ8:Ü66Ñ2/Ç,(®9(:(:(«:(«:(«:(¬9&¯7&¸:+Á<-Í?3Ø?7à=8æ:6ê86ì87ï56î66î66í74ë84ê93ç:3æ;3á:2ß;2Þ=5Ü=9Û=:Ù><Ø=;×==ÌA<ËB<ÆA:»<37-£5(ž7(š;)–;)“<)=(Œ;(Š9&‰8%ˆ7$‡6#}C/s4"y4$“G:¤RG¡NFžNE¡WN˜UL’XL[NŒ\NŽ^R”`U—aW›bYƒŽd˜¤|©ƒ€Žj]kJDS42@&$2-:&0;*5=.9?3<?6=>6:;3::29:*>?1;=08;09?38A0>K1Pa=ayGk‡Lu”Pt˜Nr˜Mq™Pq™Ro˜RršSršSršQp˜Om—Km˜Ip›LržOt Qv¢Sx§Y{©^z¨_qŸVd’JY‡?]†NVGQzBe\Me\Me\Me\Me\Me\Me\Me\Me\Mf]Nf]Nf]Ng^Og^Oh_Ph_Pg`Fh`IiaJjbMjbMjbOjbOjbOjbOiaNh`Kh`Ih`IhaGibHjcGe`Mb]J^XHXRBSM=MJ9KH7IH6KJ8LK9LM;NO=PQ?QTASVESVEYYM]WKcQEzXN¡ha¸eaÇUUÛORÞ=Cã8>à67Õ62È:.¹@+E*¦I*Ô7(Ô7(Õ8)Ö9*Ö9*Õ9*Õ9*Ô8)Ô8)Ò9)Ò9)Ò9)Ò9)Ò9)Ò9)Ñ:)¼@4µ=/«<+ :$—7’6š<#¦B*°C.¹@/¿;,Ã7*Å2(Ë4+Ó:2Ù@8ó1<ð2<î5=ë8>ç:>å;>ä:=ã9<á48ä5:å8<ä;>Þ;<Ò86Å1-¼-'«<+«=,«>*©>*¨=)©<(©:'«8%¯6%¹7)Å;.Ñ=3Ù<5à;7ä;8è;7ð75ï75ï75î84ì94é;4è;4å=4â>5à?7ÞA:ÚA;ÙA>ÕA?Ñ??Ñ??¾B:»@8µ<3ª8-¡5(›5'˜8(•<*‘;*<)Š<(‡:&†9'„7%ƒ6$‚5#y<)r3!}:*—OA£YLœRG•OE–VJ”ZN[MŒ[M‹[OŽ\Q”^T™`Yœa[s}Xyƒ`r|ZU`B9F,/;'0;+1;03=44;35<4:?8?B9?A6<<277+89)>?1:</7:/8>27@/=J0O`<ayGk‡Lu”Pu™Os™Nq™PršSp™Sr›OrœPq›Oo™Mn™Jp›LsžOu¡Ry¥X{§Z|¨]x¦]qŸWg”O]ŠEVƒ@`‡PY€ISzCg^Og^Og^Og^Og^Og^Og^Og^Og^Og^Og^Oh_Ph_Ph_Ph_Pi`QjbOjbOjbOjbOiaNiaNiaNiaNiaLh`Kh`Ih`IhaGhaEhaEhaEf_Le^Kb[H\WDWR?PM:LI6IH6GH6GH8GJ9GK:HL;IM>HO?HO?PPDVRGYOChREYM˜UL³RLØXWàGJç<Bå79Ý54Ñ:1¿@-°D*¥D$Ò6'Ó7(Ô8)Ó:*Ó:*Ó:*Ó:*Ó:*Ò9)Ò9)Ò9)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)½?3¶</¬=,£<)—9 6”: B)¬C-¶A/¿=/Â6)Â/%È/'Ð6.Ú=6ð0;ð5>ï:Aì?CæBCáACÞ@AÚ>?Ï12Ñ56Ô::Ò<;Ê;7¾73µ4.¯3+¥>+¥>+¥>+¦?,¥>+¤>(¥<'¨;'ª7$²7'¼8+Å8.Ì8.Ö92Þ<7ä?;î85î85î84ì94ë:4è;4å=4â>4âA7ÝC9ÚC<ÕB;ÐA=Ê?<Ç=;Ã<9®>3©:/¢8+œ6(˜7'”8)‘:)Œ;(‹=)ˆ=*…<)ƒ:'‚9&€7&6%~5$v4$x5%…B2˜UEœXK“QCPD•ZL’ZM[NŽ]OŽ\Q’\R•\U˜[V™\W`hCX_=JS4>G,6?*2=-4>35?74=88>:=B<CF?EG<CC7@>/;9*78(=>0:</7:/8>26?.=J0N_;`xFk‡Lu”Pu™Os™NršQršSp™SqœMrNqœMp›LošKrNu¡Ry¥X«`~©az¥]qœUf‘L_‰G[ˆE\‰Hb‰RY€ISzCh_Ph_Ph_Ph_Ph_Ph_Ph_Ph_Pg^Oh_Ph_Ph_Ph_Ph_Pi`Qi`QmcWlbVjaRi`Qh_Pg^Og^Mh_NiaNiaLiaLiaJh`IhaGhaGhaGh`Kg_Je_Ib[H\WCUR?PM:ML:EF4DG6DH7BI9BI9BJ;BJ;BJ;JJ@QQERPAUN<bM:qF6“I>ÄYSÛQOãCEå8:ß55×:3Ê>/¸>)¬<$Ï8'Ï8'Ð9(Ò;*Ò;*Ò;*Ò;*Ò;*Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)½=2¶:.<,¥>+˜9#Œ59ž@' :$¯<)¾?0È;1Ì8.Ñ7/Ù<5àA;ð;Bï>FëBGãCEÖ@?Ê;7À50»1.·0,¼51¾:5»<6³:2©9.£9,¡9,Ÿ>+Ÿ>+ ?,¡@-¡@-¡A+£>*¤=*©<(:(²7(¹5)Á4*Ë80Ö?8ÝD>é:5é:5è;4è;4ç<4ä=4á?4Þ@5ÝC9ØD:ÒC;ÊA9Ä?:¼;6¸85´73ž9-™7*•5'’6'‘:)<*‰:)„9&†=*„=+=*€<)~:'|7'{6&{6&y1#€8*ŒG8–RE’PB‹K?ŽSE™_SXKZN’\R–]T—\V˜[V˜YT—XSV^7EM(6@8A&>G2<D53=2-7/1737>7@E>GJ?GI;BC1?>);;#78(=>09;.69.8>26?.<I/N_;`xFj†Ku”Pt˜Ns™NršQršSp™SqœJqœLpLoœKo›LržOw£V{§\‚e€«dx£^j•P]‡EYƒC^ˆHeOcŠUZLSzEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qj_Yj_Yj`Wj`Wj`Vj`Vj`TjaRjaPjaPjbOjbOjbOjbMjbMjbMg_Jg_Jf^Ie_Ib]I\WCSP=ML:HI7EH7AE6>E5>F7?G8=H8<G7HJ=HL>AE4HK6YS;_F0€K9Àj]Ýf`åSSçDEè@@ã?=Ö=5É=0Â>/É3$Ë5&Ì6'Í7(Í7(Î8)Ñ;,Ó=.Ò<-Ò<-Ò<-Ò<-Ñ;,Ñ;,Ñ;,Ñ;,¸3,·7.±;-¦;)˜8"‘7’8š:"«B-±<+¹7)Á4*Í6/×<7âC?êHCëBGéDHÝCCÉ:6»61´80®8.§5+ª:/¨9.¤8. 8-›9,–:+’<+>-˜=*˜=*™>+š?,›@-œA.žB-¡@-¡<*¥:(«7(°6)¶6+¾8-Å;1Ê=4ß:4á<6â?6ã@7âA7ßA6Ú@4×@5ÚG=ÒE;ÇA6»;2±6.ª3-¤1,¢1+”;-’:,:+:*‰:)ˆ;)…<+„=+~:'|9(|9({:({:(z9'x6&w4$z, A4˜NC“MAŽL>RE‘VHŽRG˜\R˜\R‘UMTL™ZU—XS–WR `^R[0IQ(AK&BK,>H/7@-2=-4>34;3HPEX^RW[LLO<DF.AA'==!:;+>?1;=0:=29?34=,;H.Pa=bzHlˆMu”Ps—Mq—Lp˜OršSqšTpJqžKrŸLrŸNsŸPv¢U{§\ªb‚fx£^i”O_‰G]‡G`ŠJfŽOhRd‰U[€LTyEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qj^^j_]j_]j_[j_Yj`Wj`Vj`Vj`TjaRjaRjaRjaRjaRjaRjaRj_Kh`Kg_Jg_Jd]J^YEUR?ON<IJ8EH7AE6>E5?E7>F7>F7=E6BF8>E5=F1DN5HK0PB'yS<¹ubÉdXà_YíUTêFGä>>â@=Û>9Ñ82Ì:+Î<-Ï=.Ð<.Ï;-Î:,Í9+Í9+Î:,Î:,Î:,Ð:,Ð:,Ð:,Ð:,Ð:,È?9ÆA:½A7®=/6#•2•2™3¦5#²7(Á;0ÑA8ÞE?æIDéJFìJGÞBCÛEDÎC@¼;5®9/¨>1¢A1œ?.œ@1™@0–>0’?/Œ?-ˆ?.„A.ƒB.‘;*‘;*’<+“=,”?+”?+–?,™>+Ÿ@.¡=-¤:,§9*¬8+±8-¶:0¹:1Ð90Ò;2Õ>5ÕA7×C7ÖD7ÔD9ÑE8ÊB6ÃA4¹=1°:0¨8-¢5.5,œ5.Ž=,Œ=,Š;,ˆ;+†:*„;*<,€=,~;*|;)y:)y:)x9(w8'u6't5&„1)‘C9˜NC‘K?ŒJ>PD’TIRG“SJšWQ˜UO™UR\X”WTŽSO—\XT]0Zc8_j@[eBIT66C)4@*<G6MXGYbQ_fTW\FJN5BE*?@!<=9:*=>0:</9<1:@45>-;H.Pa=c{IlˆMu”Pt˜Nq—Lq™PršSqšTq¡Kp LpJqžMt Qx¤W|§_ªc{¦aošUcŒJ]…Fa‰JeNeNc‹Ld‰U[€LTyEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qj^`j^`j^^j_]j_[j_Yj`Wj`Vj`Vj`Tj`Tj`Tj`Tj`Vj`Vj`VlaMk`LiaLiaNf_La\I[VCTQ@ML:HI9DG6AE6AE6?E7>D6=C5=F57@-?H3EM5AA%QA']E³u`³WHÙbZðebîRSéEFìFHèBDÝ79È9+É:,É:,É:,É:,Ê8+È6)È6)Ê8+Ë7+Ë7+Ë7+Ë7+Ì8,Ì8,Î7,Â3/¾5/¸5-¬3( 0"›0Ÿ1 ¥4$»A2ÇC7ÖG?ãKFçLGéJFåFBâC?ÕCCÏDAÁ@:°;1£=/žC1™F4•G3’E3E2ŒC2‰B0ƒB0B/{B.xD.Š8*‹9+‰:)Š;*‹<+<+Ž=,<*–?.–=-›;+9* 8+¥9-©:/«;/¼7.¾90Á;0Ä>3Å?3Æ@4Ä@3ÁA4¸:,²:,ª9+£7+7+™7,–8.–91‰=-ˆ<,…<+„;,‚:+€;+<+<,};+z;*z;,w9*v8)u7(t6's5&Œ91”F<—MBŽJ?ˆH<OD‘SH”QI“NGšSOšSOšVSœ]X“YUZT—f_wƒS~Š\€‹`lxPJX46D#=J.MZ@eqYeoW\fMNW<DJ.?D&=@!:=89);<.8:-9<1;A56?.<I/Pa=c{Im‰Nv•Qt˜Nr˜Mq™PršSp™Ss£Mp LnLpŸOu¤V{§\}¨`|§bošUfM\„E\„EdŒMhQeN_†GcˆUZLSxEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QjaRjaRjaRjaRjaRjaRjaRjaRk_ak__k__k`^k`\kaXkaWkaWkaUkaUkaUkaWkaWkaWkaXkaXncQmbPjbOjbOhaNe^L_ZGYVERO>MK<GH8DF8CE7AE6@D5>B3;I27C-EJ3IG0K<%mN9—dO§`NŸA5ÆSLçc_ð^^îRUíJMêDHç>CÉ;/Ç9-Å7+Å7+Ç9-Ê:/Ë;0Ë;0Ñ>4Ñ>4Ñ>4Ò>4Ó?5Ó?5Ó?5Ó?5Ó?=ÑB>ÍD>ÆF=ÁG<ÂI>ÆN@ÎPDÙSJÞOGäLGäIEåFCâC?àA=ß@<ÔFDÊC?º?7«<1ž>.—D2“H3‘J6‹G4ŠF3‡D3„C1B0zA.wC.uB/†8+…9+…9+†:,†:,‡;-‡;+ˆ;+‰:+‹:)Ž8)8*•9,™<-=/ž>0«9/8.®9/°:.°:.²:,¯9+®8*¨7)¥7*ž7(›6*•7+’8-9/;0†=.…<-ƒ;,9*:+~9*}:*};-|:,z;,y;,w9,s8*q6(q7)q7)B8”G=‘K?ŠH<‡I<‹OD“UJ—TL—PLSP˜QO–RO—\X_Xh^žzn™k…’fu‚VYh=CR)?O(P`<crQetS\iKNY;CL/?E)>B'=A&;>#78(:;-79,9<1;A57@/<I/O`<ayGlˆMv•Qu™Os™NršQršSp™Sq¡MoŸKožMs¢Rz¨]|ªaz¥^u [bŒJ^†G[ƒD_‡HgŽMj‘PfL`‡Fb‡TY~KRwDi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QjaRjaRjaRjaRjaRjaRjaRjaRk`^k`^k`\k`ZkaXkaWkaUkbSkbSkbSkbSkaUkaWkaWkaXkaXocSnbRmaQkbQkbQhaOd]M`ZJVSBRO>MK<IG8EF6DE5BC3@A19K1>H/JH1Q?+e>-”ZL¬`S›>6œ4+µ@9ØXUóigödeëRUèINìKQ×J@ÓF<Í@6Ë>4Í@6ÒD:ÕG=×G>ÚJAÚJAÝJBÝJBÞKCßJCàKDàKDëRTéSTãTPÜSMØSLØSLÛTNàUNàLHâHFäEBäB@äB@äB@ãEBãEBØJHËD@¹>7ª>2žA2–C1F3I6‰F3‡D3†C3ƒ@0@1}?0y@/x@1ƒ9.ƒ9.‚:.‚:.ƒ;/ƒ;-ƒ;-ƒ;-9*‚9*…9+‡9,‰:+;-<.=/›;/œ:/ž9- :.¡9,¢8*¢8*¢8*Ÿ8)œ8)˜8(”8)9*Œ:,ˆ:-‡;-ƒ;-‚:,9+~9*}8)}7+|8+{9+z8*y9-x:-t9+q5*o5)q7+r:-G;ŽH<‰I=„I;…K=ŒRF“WMšWO˜QMžTQ™RP•VQ’`YˆbW‚h[ŠwhivKZi>JY.AR&IZ0Wi?dvLj|TXjDL\8?M,:D)<D,>C-=@-:=*89):;-68+8;0<B67@/;H.L]9^vDi…Jt“Ot˜Ns™NršQs›TqšTmŸJmžLp¡Px§Y|ª_z¨`rXi“QYƒC\„E`ˆIeŒKgŽMgŽKfJd‹Hc…SY{IRtBi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QkbSkbSkbSkbSkbSkbSkbSkbSla[lbYlbYlbXlcTlcRldQldQldQldQlcRlcTlbVlbXlbXlbYocSnbRmaQlcTlcTkbSg`Pd]M]WGYSCSM=MJ9KH7HE6DB3B@16J.>H-NC-b=-„D:¯VP¶MJ¡++´:9º=;ÑTPòpnýwvñehêY^ò]cáVOÚOHÒG@ÎC<ÑD=ÔG@ÖGAÖGAÙHCÚIDÚIDÝIEÞJFÞJFàKGàKGãGJáGIÝGHÙGG×HD×HDØGDÝEBàBAåABé@CêBBèBBäB@ßA>ÜA=ÚJIÌB@»<6®>3¢@3—A2B0D3‰A2ˆ@2ˆ>1…=1‚<2€<1=1}=1ƒ:3;3;1;1€<1€<1=/=/=/€</€=-€;,€;,9+9+8)Œ:/9.9/“;/—;.š=.=/ž>.™9)•9*“:*Ž;+Š;,‡;+ƒ;,€;+‚:,9+7)~6*{5){5)z6)z6+x6*x8,w9.s7,o5)o5)r:-u=0ŽL>‰K>„J<‚M=…QC‹VH’XM—WN”MIœRQšTR•[We\y_PcXFb]IBP,?M)?O(K\2_qGk~QcyKVk@M_7@R,6E&7D*=F1=D4:=27:19:*:;-68+8;0<B67@/9F,IZ6Zr@eFr‘Ms—Mr˜MršQs›TqšTlKo Os¤Ux¨\z¨_s [i“Q`ŠJX‚B^†GdŒMgŽMfJeŒIgŒGhHaƒQXzHQsAi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QkbSkbSkbSkbSkbSkbSkbSkbSlbXlbVlcTlcRldQldOldMldMldMldMldOldQlcRlcTlbVlbXocUmaSkbSlcTmdUlcTi`Qf_Ob[K^WGWQARL<OI9LF6IC3F@02K+>G*SA+{E9¦NL¸EH»5<¾19Ë@EÄ?@ÊJIÞb`îrpïopçbeáZ^ÛRJÕLDÏD=ÍB;ÏD=ÒE>ÐC<Î?9ÒC=ÓB=ÔC>×C?×C?ØD@ÙEAÚEAà?Dß@DÞDFßFHßIHàJIãIIæFHçACëADîAEîACéAAâ@>Ù>:Ö=8ÛEGË=<»73°;4¦@4˜?1>0ŽA1‰=/Š<0‰;1‰92‡81†93…:4„;4:4:4€<3€<3<3}=3}=3|<0{=0{=0{=.{<-z;,y:+z8*z8*€:0‚:.„:-ˆ:.Œ:.‘;.”<.–=-’9)‘:):*Š;*‡;+ƒ;,<+}<*€8,€8,~6*}5)|4(z4(z4*y5*u3'v6,v8-r6+n4(n5*s:/v@4‹PB†N?N=R@…VF‰XIŽUJ‘RI“NI™RP”SO‘\VŠfZl\LML7BL3@O.KZ9WgC`rJezOdzLVl=G]/AV+7I#0A!5C*=F5<D98=7796:;+;<.68+9<1=C77@/7D*FW3Um;a}BoŽJq•Kr˜MršQtœUr›UnŸNq¢Qu¦Wv¦\s¡Yj—R`J[…E^†G`ˆIbŠKeŒKfJhHf‹EeŠD`‚PWyGPr@i`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcRldQldOldMleKleIleIleKldMldOlcRlcTlbVlbVnbTmaSkbSkbSmdUlcTjaRh_Pd]M`YIZSCUN>QJ:MG7IC3GA13M*>G*[B.PGºVVº7?»'3ÜBNÐ:CÄ9>»;:ÂHGÓ][ßgf×[]ÇILÓJDÏF@ÌC=ÎC>ÒGBÒGBÐB>Ë=9ÒC?ÓB?ÔC@ÕDAØDBÙECÙECÚFDá>Cà?DÞBEßEGáGGàFFàBCâ=AëADí>Cì;Aê<>æ>>ãA?ßD@ßFAÙ@CÉ78¹30±:4§?4š>1=/Ž?2Š;.‹9.‹80‹61Š71Š73‰84‰:5:3:3:3~;3|<3|<2{=2{=2u9.v;-w<.w<.x=-x=-y;,y;,{;1};/~8,7*„6)‡5'‰6(‹5&7(‹8(‹:)ˆ;)…<+<,~=+{<*€8,7+~6*|4(|4({2)y3)y5*t1(u5+v8-r6+n4)n5*t;0xB6ŒTE„Q@P>‚UB„YHˆYI‰SGNG˜SN˜RPPKˆVO‚bUeZHFK4;K0IX;[jKgxVewQYnCSi;Me5I`28M"-B*;2@):E7;B;8<;7;<<=-<=/79,9<1=C77@/6C)DU1Rj8_{@mŒHp”Jq—LršQtœUr›Uq¢Qt¥Vu¥Ys£Ym›Sd‘N\‰HZ„DdŒNa‰J`‡HcŠIfJiŽIeŠDa‡>`‚PWyGPr@i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTo\Nq_QtdUrdWnbTj`Th`ShbTgaSebQa^K[VBVQ;TN6NH.GA'RD)N=#cI2iV²zm·ng³[W¸PQ¶BEÁ@EÉ@GÑBFÖDGÚEIÜGIÝGIÔBEÔBE×BDÙEEØDBÒC;ÎD:ÌH;ÄF7ÃH9ÆH:ÊG?ÐEB×BDÜ?FÞ=EâBDâBDâBDâDEâDEãEDãEDãEDâDAâC@áB?â@>ã?=ã?=ã?=å@>ÎE?Ä?8¶:2©80Ÿ:0•>4Œ@3ƒ?2A4|@5}?4<3ƒ:3‡83Š73Œ72…<-…<-…<-„;,ƒ;-‚:,‚:,‚:,9-9-9-~:/~:/~:/~:/~:/~80~80}90}90}90}90|90|90|90|90z:0y9/y9/x8.w9.w9.w8/w8/v7.t8.s7-r6,q5+p6+l2'q7,m4)l3(o6+m4)q8-H=ULƒTL†QK‹PJNJ•NL˜NM—PL”SM‹UK†\NdOkaFTW8JX5N_;gT`zMWpFTkARg@O`<IX7DQ39C*5=&49%7:)=>0CA4B@4@<12:/2:/4:.5;-9=.<?.>A,>D*T^<bqHq…TtVt”UršSsSržQv^¦g¦gq˜YcŠK_†G_†G^…F`‡Hb‰Jd‹LfNeŒMcŠK`‡H^…F_OTvDKm;i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTsaSr`RrbUqcVrfZpfZmeZjdXgdUkhYmjYlgThcOd^H[U=RL4PJ0F?%P@)kP;WG„NB‰D=–C?´VT»SR¾PQÂNOÄLMÆLKÅKHÆJHÔRTËFGÄ<<Ç;:ÑA@ÔE?ÏB9Ç>4ÉE9ÈF9ÊG=ÍG>ÒGDØCEÜAEß?GáCDáCDáCDâDEâDEáFDáFDáFDàEAáC@àB?ßA>àA=àA=â@=ãA>ÑFAÉB<¼=6¬:0 90“;/‰=0=0A4|@5}?4<3ƒ:3†91Š71Œ72…<-…<-„;,„;,ƒ;-‚:,‚:,‚:,9-9-9-~:/~:/~:/~:/~:/}90}90}90}90}90}90|90|90|90z:0z:0y9/y9/x:/w9.w9.w8/w8/t8.s7-r6,r6,p6+p6+k1&q7,m4)l3(o6+l3(p7,~H<‚SK„TJˆQJ‹PJ‘PL•OM–PN–RO‹OG…SH€[K{ePsiPhkLdrOgxT\uKXoEPf?Ka:K_:K\:GV7CP4<F-8@)6;'7:)<=/?@2@>2><03;03;05;/6<09=/<?.>A,>D*Q[9^mDmPpŒRr’Sq™RsSsŸRxža|¢exžak‘T`†I]ƒF]ƒF\‚E`†Ia‡Jc‰Le‹NdŠMbˆK`†I^„G]MRtBIk9i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTtbTo_Pm]Pm_ToeYog\keYhbVfbVpl`{xi~{jzgzuapiVf`JPV<DF.A?(MB.S@/U8(^6*m=3p7.x71:3‰@9•HBžOH¦WPª\RÁ[W»RO¸FE½A?ÉCBÑFCÓD@Ð?:ÐA9ÐC:ÐE>ÔG@ÖGCÚFFÛEFÝDGáCDßCDßCDßCDàDEßECßECßECÞDBÞE@ÝD?ÜC>ÜC=ÜC=ÝB=ÝB=ÕF@ÎE=ÃC:³>5¢:/’8-ˆ9,<-€A2~@3}?2=1ƒ:1†91ˆ81‹80…<-„;,„;,„;,‚:,‚:,‚:,€:.9-9-9-~:/~:/~:/~:/~:/}90}90}90}90|90{8/{8/{8/{;1{;1z:0y;0x:/x:/x:/x:/t8.t8.s7-s7-r6,q5+o5*o5*k1&o6+m4)k2'n5*i3'm7+}G;†QI‡PIŠQJŽQL‘RM“RN•TP’UPVO‡[P^OtbNoiQnrWjwYfwWPf@K_:EY6BV3EV6GV7FU8ER8?I1<D-9>*7;*:<.<>0<=/:;-5<45<46<26<09=/<>0=@-=C)MV7Zi@h|KlˆNpOq™RuŸSt Sz cw`n”Wc‰L\‚E\‚E\‚EZ€C_…Ha‡JbˆKdŠMc‰La‡J_…H]ƒF[}KPr@Gi7i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTtdWqaTm_Rk_SkaWlcZle[jf]jf]wuiˆ„y‘•’Œ|‰‚r€ygZfNLV>AI2CF1ED0D?,I=-TD5M:+O8*R6*T7)X8+];/a?3eA5‹KAœSLUQ¶NK½EDÇABÓCCÛEF×?>Ø@=×B>ØD@ÙEAÚFDÛEDÛEDßCDßCDÞDDÞDDÞDDÝEDÝEBÜGCÛFBÚE?ØE>ØE>×D=×D=ØE=ØE=ÖC<ÔE?ÊE>»@8§;/–8,‹9+…;.‚@2@1~?0=/;/„:/‡9/‰90„;,„;,ƒ;-‚:,‚:,‚:,9+9-9-9-~:/~:/~:/~:/~:/~:/}90|90|90{8/{8/{8/y9/x8.{;1y;0y;0y;0x:/x:/v:/v:/s7-s7-s7-r6,p6+o5*o5*n4)j1&o6+l3(h2&k5)h2&l6*|F:ŠOGŒPHQIRMSN’UPWPŽYQ‰]R…aUy_PiZGd_IciOZgKN]@EU8AQ4=M0<K.?M3CQ7FR:GS;BK6>G2:A/7>,9=,9=.8<-7;,6=66=66;46<29<1;=/<?,<A*JS4Ve>dxGj†LpOs›Tw¡Uw£T{¡dr˜[e‹N\‚EZ€C\‚E\‚EZ€C_…H`†Ia‡JbˆKa‡J`†I^„G]ƒFY{INp>Ef7i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTseXugZsg[mcYjaXle]snhzwp~w† –©¥œ«§œª£™£‘œ”‰v~i`hSLSADK9AJ7>G4>G4BI7GN<FJ9CF5?@0=;,<:+<9*<9*U5(lD8‹PHŸPL°HIÂEIÏDIÖAEÙ>BÛ?@ÛAAÛC@ÚEAÚEAÚEAÚEAÞDFÞDFÞDFÞDDÝEDÝEDÛEDÙEAÚFB×FAÕF>ÔE=ÓF=ÓF=ÓF=ÔG>×@9ÕB;ÏD=ÁB9®>3œ:-‘;.‰=/„?0?/~?0=/<-„:-†:-ˆ:.ƒ;-ƒ;-‚:,‚:,‚:,9+9-9-9-~:/~:/~:/~:/}:1}:1}:1|90|90|90{8/y9/x8.x8.v8-y;0y;0x:/v:/v:/u9.u9.u9.s7/r6.q6.p5-o4,n3+m4+m4+j1(o6-j4*h2(j4*g1'k5+zF;MGNH‘PJ’SLUOŽWPŠZP…ZQ{YMv\OkZJ]UBYXDY^HOYA>L3;G18D.5A+5A+8D.=I3AM7EN;BK8?H5<E29B/7@/7>.5<,4;+5;75<56;56;48;2:</;>-;@)GP1Ra:buGi…Kq‘PuVy£Wx¤Uzcn‘W`ƒIZ}C[~D^G^G]€F`ƒIa„Jb…Kb…Ka„J`ƒI_‚H^GW{KLp@Bf6haQhaQhaQibRibRjcSjcSjcSibRibRibRibRibRibRibRibRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTmaUndXpf\lcZkd\rmg„|‘‹¥¤ ³²®ÄÁ¼ÉÆÁÉľÅÀºÀ¹±¹²ª¤œˆ‚tfcTPQAEI8=F38E18G45F35F44E36D58D6;E:?G<@H=<6(L</b@7EA£OOÁW[ÎOVÍBI×DJÚDFÝDFÝEBÝEBÞE@ÝD?ÞC?ÞDFÞDFÞDFÞDFÜDCÜDCÚDCÙECÙEA×FAÕF@ÓF=ÐF<ÏF<ÐG=ÐG=Ø=8×@9ÑB:ÆC9¶A7¤>0–=/Œ=.†>/‚?/€>.=-<-ƒ;,„;,‡;-‚:,‚:,‚:,‚:,9+9-9-~8,~:/~:/~:/~:/}:1}:1}:1}:1z:1z:1y90y90x8/v7.v7.v7.u9/u9/u9/s9.s9.s9.r8-r8-q6.q6.p5-o4,n3+m4+l3*l3*h2(l6,i3)f2'h4)e1&i5*xD9’KE’MF“PJTLVO‡XNYO|\Os\Nk[L_XFUTBPS@JQ?@I64@,3<+2;*09(09(2;*5>-9B1<E4?H7=H7<G6:E48C25A-3?+1=)3973954954937:19;0;>-;@*CL/O^7_rDi„Mr’SwŸXy£Wv¢Us–\f‰OZ}CX{A\E]€F]€F^G`ƒI`ƒI`ƒI`ƒI`ƒI_‚H^G]€FVzLJn@Ae7haQhaQhaQibRibRjcSjcSjcSibRibRibRibRibRibRibRibRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTiaVjbWkdZmf^upjˆ…€Ÿžš°°®ÂÂÀÓÒÐâáßéåäçãàãÞÚÞÖÓ×ÏÌÒº°º¤™˜†zym__YIKL:>F19E1<K8;J79G68D68@57<57947836A3>>2J91`94ˆHH²\_È_dÍVZÐOSÕMOÚLKÜJJàHEáFBãDAåA?ÞDFÞDFÞDFÝCEÝCEÜBBÛCBÛCBÚDCØD@ÔE?ÓF?ÐF<ÏF<ÐG=ÎH=Ý>8Ú?:ÒB9ÉC:¼C8«A4™<-Œ9)‡>-ƒ>.>-€=,€=,<,ƒ;,…<-‚:,‚:,‚:,9+9-9-~8,}9.~:/~:/~:/}:1}:1}:1}:1}:1y:1y:1x90x90w8/t8.s7-s7-s9.s9.r8-r8-q8-p7,p7,p7,p5-o6-n5,n5,m4+l3*i3)i3)g1'k7,h4)e1&h4)d0%f4)uC8•JE“LH“PJTL‰WNYOx[Mp]Nj^N]WGPQAKN=CJ:9B12:+08)36-17-06,/5+/5)17+2:-4<-9D4;F6=H7<I7:G56C/3@,1>*0640641622716929;0:<.:?)?H+KY5]pChƒLs“TwŸYw¡WržQiŒT^IUx@WzB[~F[~F[~F]€H_‚J_‚J_‚J_‚J^I^I]€H]€HUvKJk@@a6haQhaQhaQibRibRjcSjcSjcSibRibRibRibRibRibRibRibRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcToh^ng_lh_tqj…„¡ ž¼¼ºÏÏÏÎÏÑààâòòòúøùû÷öøòòñìéêåâïÍÃàÀµÅ©¥€sbaZGML7CH2AI4AH6BF7BD7C@9D<9C98C772?5;@9@93H/+c76QR³giÇmmÂ[\ÉYWÑUS×QNÝKKåGFèBBê@AÞCGÞDFÞDFÞBEÞBEÝADÜBBÜBBÜDCÙCB×C?ÔC>ÒE>ÐE>ÏF<ÐG=â@;Ý@9Õ@9ÌC9ÀD:°B5›;-‹5&Š=-…=.>-€=,€=,<,ƒ<*„=+‚:,‚:,€:.9-9-~8,}9.}9.~:/~:/}:1}:1}:1}:1}:1{;2w;1w;1v:0u9/t8.s9.r8-q7,r8-q8-p7,p7,n8,m7+m7+m7+o6-o6-n5,m4+j4*j4*i3)h4)f2'k7,h4)c1&e3(b0%e3(uC8”JG“NIQJ‹TM„XOzZMq[Mh\LXUDHK:=D4=E69A208+/7*5=056157257247005.06,08-19,6A3:E5=J9>K9;J77F12A,0?*.42.420511605818:/:<.:?+<E*IW4[nAg‚Mr‘UvZuŸWo›Pb…MX{CSv>WzB[~FY|DY|D\G_‚J_‚J^I^I^I]€H]€H]€HSsJHh?>^5icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUfc\gd]vsn“’Ž¯¯ÄÆÅÚÛÝìíïóôöö÷ùüüþÿÿÿÿþÿÿûúüööùôñÿÞÏöÖÇãÈ·É´Ÿž‡ŠƒicbFGG-EG/DF0GD3IC5H;3F42G34M797@;;@:@;8G85cGF‘kjÅ”è©Ò‹‡ÇtnÀ]XÆSNÖNNâIKëEIðCGÜFHáHKÜCFÕ:>Ø>@âFIàDGÖ:;Ú@@Ú@@ÙA@ÖB>ÔC>ÑB<ÏB;ÏB;ãA<Ý@9Ô?8ËA7¾B8°@4;.8*‹>.†>/‚?.>-€=,<+=*=*9-9-9-~8,~8,|8-|8-|8-}9.|90|90|90z:1z:1z:1z:1x=5w<4v;3u:2t91r7/p7.p7.o6-m7-m7-m7-m7-l8-l8-l8-i2+m6/p92o81k4-g2*g2*h3+e0(i7.d2)^,#`0&_/%b2(p@6’LJOKŠQJ‚QJ}YMv_QfYIRO>CF5=F58C35@02=/3;04:04:077577566446135016/05..6+.9+2=/6C29H5:I68G42D./A+,20,2.-2..3-36/780:</:?+6>&DR1YkCh‚Ru”[wž_r›Wj•N\}HXyDTu@Tu@WxCZ{F[|GZ{F^JbƒNbƒN^J\}H_€K`L^JTrNFd@:X4icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUed_onj…†¤¤¢ÁÃÂÖÚÛêîï÷ûþ÷ûþøüÿüýÿþþþÿþÿÿýüÿüùÿûøÿïÚüêÒîÞÅØͱÀ»¤£„‚ƒcgkJMP1II/EC,HA/J>2L93M85Q99;;9BA?MHE\RQyjg¢‹Ì³®åÇ¿ÿÙÏ괪̃|Àc\ÌVTÛPSãFMâ=DÕEEÕEEÙGHÞIKÛEGÖ<>Ö<>Ü@CÚ>?Ù??Ú@@ÙA@ÖB>ÓB=ÒA<ÐA;ß@:Û@;Ô?8ÌA:¿C9±A6 ;/‘9+Œ=.‡>/ƒ>.>-€=,<+€=,<,9-9-9-~8,}9.|8-|8-|8-|90|90|90z:1z:1{;2{;2{;2v=4u<3t;2s:1r90p7.m7-m7-m7-l8-l8-l8-l8-j8-j8-j8-l5.n70n91n91l7/i4,g2*e3*c1(e3*_/%^.$b2(^.$`0&n?5„IEˆQLˆWRWOrVKdRDQJ:>?/:A16A14A02>02<14<15;17:388677577557446116005./7,.8-1<.4A07E49H58G44E22D.062.40.3--2,14-45-8:-9=,7?'DQ3YkEh‚Sv”`wbp˜YfNZzHWwETtBTtBVvDYyGYyGYyG[{I_M_M\|J[{I^~L^~L\|JTmOF_A9R4icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUmdUmdUneVneVneVddby{x—™˜²¶µÍÑÒäéìôùüúÿÿûÿÿûÿÿûÿÿýÿþþþüÿÿûÿÿúÿÿúÿüßúùÛïðÐáåÄÒØ´¼Äž©‡’j`hCRW7DG,EC.KD4MC9N?8L=8C:;SJKi`a€xv›“¼µ¯×ÐÈçÝÓúêÝÿôéÿåÛ画Äec¸ACËBIáNVÚVRÒLIËDAÎBAÔFE×EFÙCDÛBD×=?Ø>>Ù??Ø@?×A@ÕA=ÓB=ÒA<Ü?:Ù@:ÔA:ÍD<ÀD<²B7¡<2“9.Œ=0‡=0ƒ>/>.€=-<+€=,€=,9-9-9-}9.}9.|8-|8-{8/}:1}:1{;2{;2{;2{;2{;2{;2t;2s:1p:0o9/n8.m7-k7,k7,l8-l8-j8-j8-j8-j8-i9-i9-n91m80m80m80m80i7.f4+c1(c3)a1']-#_0&c4*\-#_0&sD:OK‚UPXQqSK^J?OC7?<-37(2:+/<+0<.2=/4<15;17:37:388688668557257227016/08-.8-0;-2?.6C27E48G48G48G46=53:2/4-,1*.1(13(57*6:)6>'DQ5[lHk„Zy–fwœfl”X^‡KWwEUuCRr@Rr@TtBVvDWwEWwEXxF[{I]}K[{I[{I]}K\|JXxFPfOAW@3I2icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUneVneVneVneVofWgklƒ‡ˆ£§¨¹¾ÁÐÕØåíðóûþõýÿùÿÿûÿÿüÿÿüþûýþùþýøÿþ÷ÿÿöóÿâñÿÞëùÖäòÎÛêÃÌÛ²³Â™ ¬„}‰cdnKLS4EI0HJ5KI:GE9D@7QEEk__‹€¤š™µ°ÊÇÂÜÜÔççÝ÷óèÿýñÿøíÿÝÕú·±èŽŽÌbd±>CÃPIÉTMÉOJÃF@ÊFBÔMJØJIÑ??Ò>>Ô>?Õ?>Ö@?ÕA?ÓB?ÓB?ÒC?×>8×?:ÒC=ÌE?ÀE>±B9¢=5•;2Œ<1‡=0ƒ=1=0=-~<,€=-€=-~:/~:/~:/}9.}9.|8-{8/{8/~;2|<3|<3{;2{;2z;4z;4z;4p:0o9/o9/m9.l8-k7,j6+h6+i7,i7,h8,h8,h8,h8,h8,h8,o:4j81h6/i70j81j81e4-a0)e4-b1*].&a2*b3+Y*"_3*zNE~]XvWRiNGWC:J<3@:.:;-8<.08)/:,1<.2=/5=25;169078079468368349338138119.19..9+/:,1<.2?.5B18E4:I6;J7;C87?428.-3)-0%/1&24'48)4<'ER8_pPr‹d}šnwœifXT}EUrBTqASp@Sp@TqAUrBVsCVsCWtD[xH]zJ\yI^{K_|L\yIVsCK\J<M;.?-gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUneVneVofWofWpgXmru‡Œ¤©·¿ÂÍÕØãíïòüþôþÿøÿÿøÿþúÿüûÿúûþõúüñùùíù÷ëòÿçñÿäîÿßëúÙçõÒÝéÅÈÒ´¾™œ¤|ƒbX_@GL5DL7DK;AG9>D8f\Z†|z«¡ŸÁ·µËÃÁÕÐÍãâÞîïé÷øðùöíüòèÿóéÿóíÿäß즤´if«K=³QDÁYNÇ[QÆQH¿D=ÂA<ËD@Ë@=Ï?>Ð@?ÑB>ÒC?ÒC?ÑC?ÑC?Ö>9Ô@<ÒD@ÉE@½D<¯@9 >5•<4Œ<3‡=2ƒ=1=0=/~<.=/€</~:/~:/~:/}9.}9.{8/{8/{8/~;2|<3|<3{;2z;4y:3y:3y:3m80m80l7/l7/k6.h6-h6-h6-h8.h8.h8.h8.g8.g8.g8.g8.k92h6/f4-g5.i70h70e4-b1*b3+b3+_0(_0(]1(V*!b6-SJn[U`OHN?8A7.=6,;9-9;.7=12:-3;.4</6<06<07:167/56.49249238139/39/2:/19.19,.9+.9+/:,0;+2?.6C29F5;H7=E6:B35;-06(/3%/1$13&15&29'GS;dtWwm~šrq•g\‚QIq?Qn>Qn>Qn>Qn>Qn>Qn>Sp@Sp@WtD[xH]zJ]zJ_|L_|LZwGQn>ESF6D7(6)gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUneVneVofWpgXpgXpgXinrz‚…“š «´¹ÄÍÒÜåêì÷ùôþÿôþýöÿüúÿúûÿ÷ûþóøúìõöæòóãòþêôýèôüåóøáòöÛëëÏØ×¹ÅÄ¥±°’ŽregOMP;EL:EM>EODGSG~zqŸ›’ƽ¸ÙÎÌáÓÒçÛÛôêéü÷ôðïëûüöÿÿöÿþôÿúñÿôêÿçÞÿÚÒß‘}·fS¢K:²UF½WKµF;·@8ÈKEÇC>ÊC?ÌB?ÎC@ÎC>ÍD>ÍD>ÌC=Ô@<ÒC=ÎE?ÅD?¸A;ª=8ž;5•<4Œ<3‡=4ƒ=3=2=1~<0=1=/~:/~:/~:/}9.|90{8/{8/{8/|<3{;2{;2y:3y:3x92w81w81m80l7/j8/j8/i7.i7.g7-g7-g7-g7-f7-f7-f7-f7-f7-d8-i70h6/g5.f5.g6/h70g6/e6.a2*e6.^2)\0'`4+a5,i=4|PGQJBE>6:6-85,99/8:/47,36+4:.5;/5;/69.69.68-57,46+19,19,19,19,19,19,19,19,08+.9+.9+/:*0;+3>.6A17B2<E4:C28?/5<,37)24'13%04%07%HT>gw]umv‘nf‰_RwKAh;Mj:Nk;Pm=Pm=Nk;Nk;Ol<Qn>VsCZwG]zJ^{K_|L_|LVsCLi9=H@/:2#.&gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUneVneVofWpgXqhYqhYcjpmtz„’£¬±¾ÉÍÓÞâåðòðüüòüûõþùøÿ÷úÿôüÿòúýìøùçöøãööìù÷ëúöêýöæÿôâøëØçØÁÖƯÀ±šŸ“}vn[ZWFOQCQWKYcZbme–˜‹²²¦ÕÎÆêÜÙõããüéëÿñôÿ÷ùÿýýýþùøûôõûñúýòÿÿóÿÿóÿÿñÿãÊ¹q[¨WD¬SCµQB¹MA¿JAÂG@ÆE?ÉE@ÊE@ÊE>ÉD=ÈC<ÈC<ÒC?ÒD@ÌEAÂC=³=9¦;5œ;5•<6Œ<5‡<6ƒ=5=4<3~<0=1€<1~:/~:/~:/}9.|90{8/{8/y90{;2{;2z:1x92w81v70v70u6/k90j8/j8/j8/j8/h8.h8.h8.g7-f7-f7-f7-d8-d8-d8-d8-h6/h70i81i81h70i81j;3l=5g80k<4b6-a5,oC:xLCtI@uJA:=647036/7:18;247.14+25,58-58-57,46+46+46+46+46)/7(08)08)08)08)08)08+08+19,08+08+/7*08+19,3;.4</9B/:C0;B0:A19=.68*24&/3$29'IU?eu[m„ghƒbWyTInE>e9Jg9Li;Nk=Nk=Li;Li;Mj<Ol>UrDYvH[xJ]zL^{M\yKQn@Eb47@;+4/!*%gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUneVofWpgXpgXqhYriZhowmt|‚‹’¥®µÂÍÑÔßãäïñòþþóýüôÿùöÿ÷úÿôüÿñýÿíýÿêýÿêÿöñÿøóÿ÷ïÿ÷íÿöëÿïáöÜÍäʹƯ§”ƒ€sce]P[YM_bYovo|…€¦¾À³ÚÖÍñãàÿìíÿñôÿñ÷ÿñ÷ÿ÷ûûúøøÿøøÿúôÿõîÿïòÿï÷ÿóÿñÖÿðÖÿÈ°Å}g¢O=®Q@¸RD³C8ÀIAÄH@ÇF@ÇF@ÈE=ÇD<ÆC;ÆC;ÓD@ÐE@ÊE@¾A=±;7£74š93•<6Œ<5‡<6ƒ=5=4<3~;2<3=1~:/~:/~:/}9.|90{8/{8/y90z:1z:1y90w81v70u6/u6/t5.k90k90j8/j8/j8/i9/i9/h8.f7-f7-f7-d8-d8-d8-d8-d8-f5.i81l;4k:3j92j92m>6qB:n?7pD;g;2g;2SJŒaXTKpE<6=52913:27<5492/5+25,9<345-35*24)13(13(35(46)57*,7',7'-8(-8(-8(-8(-8(/7(19*08)08+/7*/7*/7*08+08+7@+9B-=D2=D2=A29;-35'/3$3:*JVBcr[f}a\wVLnICgA=c:He7Kh:Nk=Nk=Kh:Jg9Li;Nk=TqCWtFZwI[xJ]zLZwINk=A^05;9*0.!'%heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVhdYkd\kd\md]meZmfVg`MjeOnlWnl]ff^eeeqqy‡‘“–ž¡«³¶ÃÈËÙÝàìíï÷÷÷ûùúþýûÿþúÿÿûýþøûüöùüóúýôùÿõùúõùúôøúïúûëûýèöùÞäçÈÒÖµ¶¼š”›ymvW\fK`lTq~lƒ‘€žŽ··µËËÉââàïïíôôòøøöúúøùù÷þþüþþüþþüþþüþþüþþüþþüþþüæÿÿðÿÿûÿÿýïîЪ§ a\™D=¸MEÄKBÈC:ÊA7ÎD:ÑH>ÏJAÉI>ÆG>ÁJ2¿K4¹L5¯K4 H2”F2ŒE3‡E5‚D5C6€@4‚>3…;2‡9/Š7/6-~:1~:1}90|8/{7.z7.y6-x5,w7-w7-x8.x8.v8-u7,s5*q3(h91h91h91g80h70g6/g6/g6/f5.h6/i70j81i70h6/f4-g2,k1-k4/n70m80k9.j:.i>.iB1dC2gJ8aJ8raOyn\ƒ|j…‚qOL;4:04:04:039/39/39/28.28.17-17-17-06,06,/5+/5+/5+/4./4./4./4./4./4./4./4.05//4./4..3-.3-/4./4.05/0;32=55A77C98D86B64@22?.3@.DQ=WeN\jSSaHHV=DR8FT:Ic>Ke@Ke@Ke>Je<Je<Lg>OjAUpGYtK\vO]wR]wTWpPHaC8Q3).2&+/$)-heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVhdYkd\kd\md]meZmfVjcPlgQmkVlj[gg_lll~~†’ž§±³¹ÁÄÏ×Úâçêðô÷ûüþÿÿÿÿþÿþýûÿþúÿÿûþÿùûüôøûòøûò÷ýóøùóøùñøúíøùéùûåòõÚáâÃÌЯ´¸—‘–vkrSYaI_kUtoŒ˜Š›©œÀÀ¾ÓÓÑççåóóñ÷÷õûûùüüúûûùþþüþþüþþüþþüþþüþþüþþüþþüîÿÿôÿÿüÿÿÿüúÿíêñ¿¸Ã}u¢J@³K@»J<ÅK>ÈJ>ÄD9½=2¿?6ÃD;ÂH3ÃJ7½M9³J7¦G5™C4D6‹F7ƒC7C8A7>5‚<4„:1†91‡81}:2}:2|91z:1y90x8/w7.v7.u6-v7.t8.t8.t8.r6,p4*o3)i81i81i81h70h70h70g6/g6/e3,e3,g5.h6/j81j81j81k92k60l71m80l:1k;/l>1j@0iD2hG6kP=gR?ufSvd‹†s†ƒrML:4:039/39/39/28.28.28.17-17-17-17-06,06,/5+/5+/5+/4./4./4./4./4./4./4./4.05//4..3-.3-.3-.3-/4.05/-80/:21=34@66B66B66B45B16C1CP<P]IR`IIW>AO6BP7FT:Ic@Jd?Ke@Ke>Ic<Hc:Id;Je<SnEXrK\vQ]wT[tTTmOC\>3L/).2',0$)-heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVhdYkd\kd\md]meZmfVmhTmhRmkVjk[jkcvxw‘‘™¨ª¶¾ÈÊÓÛÞêòõ÷üÿüÿÿþÿÿÿÿÿÿþÿþýûÿþúÿÿúýþøúûóõøïóöëñ÷ëô÷îöøíöøêö÷åõ÷áîîÔÛÛ¿ÉÊ«°±’“–yuy^kpZt{iˆ§œ¬¶ÎÎÌÞÞÜïïíøøöûûùþþüþþüýýûþþüþþüþþüþþüþþüþþüþþüþþü÷ÿÿùÿÿþÿÿÿüúÿúôÿöíÿÑÄÙž•L=§Q@¬K;ª>1¸G9ÑXMÐTJ¾?6ÆD6ÇH9ÄJ=¹I=ªB7?5•A7’E=‡A9„A9@:>8~>5<4<4€;4x<2x<2w;1w;1v:0u9/t:/t:/s9.r9.r9.r9.q8-n8,l6*k5)j81j81j81j81i70i70i70h6/g5.g5.g5.g6/h70i81k:3k:3l;4k:3i:0j;1k?2lB4iD2fE2fI7lVAjYEviV†l‘Ž{€mEF439/28.28.28.17-17-17-06,17-17-17-06,06,/5+/5+/5+/4./4./4./4./4./4./4./4./4./4..3--2,-2,.3-/4./4.*5-+6.-9//;12>24@46B47D38E3?L:ER>CQ:;I28F->L3ES:H`>Jb@LdBKc?Ia=G`9F_8G`9RkDXpL]uS^vVZqTPgK=T8,C)).2',0%*.heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVjcYkd\kd\md]meZmfVniUljSlkVlm]pqi€‚ž¡¨º¼ÈÃÍÏÜäçóûþûÿÿúþÿüýÿýýýüûùÿþüÿÿûÿþùûüôõöîîñæëîãçíáíñãðôåñôãòôßðòÜêêÐÙؼÈÇ«²±•¡¡‡‘“}‘’€œžª¢¶»´ÀÅ¿ÜÜÚééçööôûûùýýûÿÿýÿÿýýýûþþüþþüþþüþþüþþüþþüþþüþþüüúÿÿþÿÿþÿöòïûôîÿýóÿûíÿõäêı·ƒn”Q>¡P=¸XH¸L?¸D7ÀG<Ç>4ÉD;ÈH?¿F>°?9¢;6š=8–A>?;‡@<@<}@;z?9y@9x?8v?8v=4v=4v=4u<3s=3r<2r<2q;1o;0o;0o;0l:/k9.j8-j8-i7,n72n72m61l71l71k60i70i70l:3j92h70g6/f7/f7/h91h91j?6f>4e=1f>2hC3iE5gF3cG2cJ6hV@k\GskV‡‚nŽzor_9>*28.28.17-17-17-06,06,06,17-17-17-06,06,/5+/5+/5+.3-.3-.3-.3-.3-.3-.3-.3-.3-.3--2,-2,-2,-2,.3-.3-)4,)4,*6,+7-.:01=14@25A36C2:G5<I58E12@)2@)8F/?M4DX<G\=K`ALa@K`?I_;H^:H^:SiEZoN`uV`tXZnSNbI9M4(;%',/%*-$),heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVjcYkd\kd\md]meZmfVlgSkiRnmXop`svmƒ‡†£¨®¿ÃÎÍ×Ùçïòùÿÿûÿÿùýÿýþÿÿÿÿþýûÿÿûÿÿúþýø÷øðïñæçêßâæØÞäÖçëÚêïÛíðÛíïÙîîÖéçÎÚØ¿Îʱ½§¹´ ±®¶´§Á¾µÉÈÃÒÓÎÙÙ×èèæòòðúúøüüúýýûÿÿýÿÿýüüúþþüþþüþþüþþüþþüþþüþþüþþüÿûÿÿûÿÿúúûûùûÿùûÿøüÿôýÿíÿÿìõàËÈœcP–K8§L:¶O@»M>Æ=7ÈA;ÈD?ÀC?´<;©98 9:›==‘==Š>>„@?|A=xA<sB=rC=pC=s>6s>6s>6r=5p>5p>5p>5n>4n>4m=3l<2j;1j;1i:0i:0i:0p62p62p62o51m61m61k60i70l;4k:3h91e90e90e90e:1f;2dB6cA5cC4dD5fG5eH6cH3_I2^L6eV?jbKrmW„ƒn„‡r[`L3;&28.28.17-17-17-06,06,06,17-17-17-06,06,/5+/5+/5+.3-.3-.3-.3-.3-.3-.3-.3--2,-2,,1+,1+,1+,1+-2,-2,,6.+5-*4,*4++5,.8-0:/2=/2=-5@06A05A-1=)1=)5A+9E/=O5AS9FY=I\@J]?J]=K^>L_?TgG\oQcvZbtZYkSK]G6G4$5"&+.$),"'*heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVjcYkd\lc\md]meZlfVlgSljSlnXorasvm…„Ÿ¤ª¸¿ÉÖßäîöùùÿÿûÿÿùýÿþÿÿÿÿÿþýûÿÿûÿÿúüüôóõêëíâãçÙßãÕÜãÓäéÒçìÕéíÖêìÔëëÓèæÏßÚÄÔθÔͺÍƶËøÐÉÁÙÒÌàÛØëååòîïòòðùù÷ýýûýýûýýûÿÿýþþüüüúþþüþþüþþüþþüþþüþþüþþüþþüÿøüÿöùÿýýþÿý÷ÿýïÿøëÿõòÿøëúçÿÿíÿïÛ̧”£lX£ZGVCªM;ÁA8ÃB<ÃD>¿D?·?>;;£99œ:;–<<Ž>?…?=}@=wB<pC=mE=lF=q?8q?8q?8q?8p?8o>7o>7n?7o@8n?7m>6i=4h<3h<3h<3i=4r73q62q62p62o51m61l71j81h70g80e90e:1d<2f>4f@5gA6]C4aG8cL:dM;cM8`K6]K3]M4]Q9`Y?miPss[€„mt|eFO:2>(39/28.28.28.17-17-17-06,17-17-17-06,06,/5+/5+/5+-2,-2,-2,-2,-2,-2,-2,-2,-2,,1++0*+0*+0*+0*,1+-2,,6.,6.*4,*4+*4++5*-7,.9+-8*0;+4?/5@/4?.3>-3?+4@,7F/;J3@P6DT:GW<JZ?M]@O_BUeJ^nSdtZbqZXgRIXE4B1$2!&+.$),"'*heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTjdVjcYkd\lc\md]meZlfVljUllTkmWjn]lrhy}•œ¢¯¶ÀÒÛàëòøùÿÿùþÿ÷ûþþÿÿÿÿÿúù÷ÿÿûþýøùùññóèéëÞãçØáåÖàç×äêÐçíÓèìÑçéÑèèÐçåÎáÚÇ×оÛÒÃÚÐÆÞÔËçÜØîäãóéêúñôÿøýùù÷þþüÿÿýýýûýýûÿÿýÿÿýüüúþþüþþüþþüþþüþþüþþüþþüþþüÿ÷÷ÿùùÿýýüÿÿôÿþêÿûíÿÿíÿýñÿúðûíÿþíÿûèôλva‘P:¦^H»I>ºH=ºH>ºG@·F@°C@¦=:97—<;‘=;ˆ>;€A<wB:sD<nF<lH<q?8q?8q?8q?8p?8p?8p?8p?8qB:pA9n?7j>5i=4j>5j>5k?6s63r73q62p62n72l71j81i81d8/d90c;1d>3d@4cA5cA5bB5VG4^O<gVBhWCbS<^O8[O5\R7]V<]Y>mmSsw^z‚jcmU2>(5C,4:039/39/39/28.28.28.17-17-17-17-06,06,/5+/5+/5+-2,-2,-2,-2,-2,-2,-2,-2,,1+,1++0**/)*/)+0*,1+,1++5-+5-*4,*4,+5,+5,,6+-7,,7)/:,2=/6A17B27B25@/4?.2?+5B.:G3>L5AO6ES:JX?M[BTbI]kTcqZ_lXUbPERA2>0#/#(..&,,$**heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVjdTjdVjcYkd\lc\md]lfZlfVomXmmUimVgkZembr{xŽ—œ¨±ºÊÓØäëñöþÿ÷üÿøüÿþÿÿÿÿÿúù÷ÿÿúýýõøøîðòåéëÝåéÚåéØåìÚæíÎèïÐéîÐæéÎèæÏèãÏáÚÈÙÏÃÚÍÄßÒÌìÞÛúììÿôöÿõùÿõûÿøþýýûÿÿýÿÿýþþüþþüÿÿýÿÿýýýûþþüþþüþþüþþüþþüþþüþþüþþüÿüúÿýúÿûøùýüøÿÿôÿÿðÿÿêþüðÿûùÿûÿÿôÿöæÿôßÿãÍ×”¢sY°SA®Q?®N>°O?±OB¯J@¥C:š<4—<7‘>8‰?6ƒ@7{B7tD6qE8nG8s>:s>:s>:q>:q>:q>:q>:p?:sB=rA<p?:m>8l=7l=7m>8n?9r73r73q73n72m82j81i81f:1f;2d>3d@4bB5`C5]A3\@2[?1QI4[S>f^Gg_H`Y?ZS9ZS7\W:ZV;WW;knSrx^u}eUaI%37E.4:04:04:039/39/39/28.28.17-17-17-06,06,/5+/5+/5+-2,-2,-2,-2,-2,-2,-2,-2,,1++0*+0**/)*/)+0*+0*,1+)3+)3+*4,+5-+5,,6--7.-7,,6+.8-2=/6A39D69D67B46A1/<*2?-5B09F2<J3@N7FT=JXAR`I[iRanZ\iWQ^MBN@/;/!-!+1/(.,&,*heVheVheVheVheVheVheVheVifWifWifWifWifWifWifWifWkeUkeWkdZle]md]ne^mg[mgWqoZkmUkoXkr`jrgozv†‘•Ÿ©²»ÄÉÑØÞèðóöûÿúþÿþÿÿÿÿÿþýùÿÿúþþöúúîöøêô÷æðôãìñÝçïÚð÷ÖíòÒëîÑììÒèæÏáÜÉÝÕÈÞÔÊáÔÎèÚ×òääúëîÿñöÿ÷ûÿùÿÿúÿþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüÿþùÿþùþþüýÿþûÿÿúÿÿøÿÿúÿÿüÿÿÿÿÿÿü÷ÿüñÿýìÿûåÿóÛÿíÑÁe¦cI—O7 T=ªYF¤Q?ŸI:¢L?;0Œ=0‡=0=/x=/t?/rC3sE5s<9s<9t=:s>:u@<u@<t?;q>:s@<r?;q@;q@;p?:o>9o>9o>9n72n72n93m;4l;4j;3g<3d<2c?3^>1dG9cG9T=-O8(M8'D/TR;PN7KI0MK2]Y>ieJeaDVU7XX<]`CosXz€fcmT=I1,:#1?(5;15;14:04:04:039/39/39/39/39/39/28.17-17-17-06,16016005/05//4./4./4./4.,1+,1+,1+,1+,1+,1++0*+0*.5.-4--4-,3,-4--4-.5-.5-+2*-4,08-5=29A6=E:?G<AI>7B25@03>-1<+2>*9E/BN8IU?O[EVbN]hWYdTLWI<F;/90)3*)/-(.,'-+heVheVheVheVheVheVheVheVifWifWifWifWifWifWifWifWkeUkeWkdZmd]md]mf^mg[khWonYjlTjoXkr`jtiq|x‰”˜¡®¶¾ÇÌÓÚàéðö÷üÿûÿÿþÿÿþþüþýùÿÿúþþôûûï÷ùëô÷æðõáìñÛæî×êðÎæëËäçÊææÌãáÌßÙÉÝÕÊßÔÎçÙØíßßöçêýîóÿôøÿ÷ûÿúÿÿûÿþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüúÿùûÿúýÿüþþþÿýÿÿüÿÿúÿÿúÿÿûÿÿûÿÿúùÿüõÿþñÿÿìÿüãúöÛÿéÌß²•§uZ‘[A–ZB›YCœUAšQ>F5F4‰D4…D2}B0yB.s@-o?+v?:t=8u>9v?:t?9q<6r=7sA:q?8q?8q?8o>7o>7n=6n=6n=6l;4m<5m>6k?6j?6h@6eA5cA5dG9[A2^G7\I8N=+F7$G8%A4!IM4GK2DG,BE*MM1[[?abC`aBYY=dgJsw\sy_X`H8D,/;%6D-7=36<26<26<25;15;15;15;15;15;15;14:04:039/39/39/27127127116016016005/05/.3-.3--2,-2,,1+,1++0*+0**1**1*)0))0))0)*1*+2+,3,.5--4,.5-07/4;39@8?F>BIA:G69F56C13@.2?+5B.;I2?M6KXDR_KXeSVcRKWI<H<0<2*6,+1-*0,)/+heVheVheVheVheVheVheVheVifWifWifWifWifWifWifWifWkeUkeWlcZmd]md]mf^mg[khWmlWimTjoXktaiuiq}yŠ˜›¤³ºÀÉÐÕÜâëòø÷üÿúþÿýþÿþþüþýùÿÿ÷ýýóúûí÷úéô÷äïôÞéîØãëÓâèÆÞáÂÛÞÁÞÞÆÞÛÈÞÖËßÖÏäÙ×îâäóçëúîòÿôøÿ÷ûÿøüÿúýÿüÿþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþü÷ÿúøÿüúÿþþþÿÿûÿÿúÿÿøÿÿ÷ÿÿøÿÿùÿÿúúÿýøÿÿôÿÿñüÿíöþçÿóÙÿùÞÿíÓâÀ¥«ƒj‡YA…Q;“[D—]GR=€F2w=)t=)t@+vC.xE2s>8p;5q<6vA;sA:p>7r@9xG@n=6n=6n=6m>6l=5l=5l=5l=5g?5h@6gA6gC7eC7cC6`C5^D5aL;UB1ZI7`S@RG3C;&E=(GA+>G,BH.@F*<@%?B%LO2_`AijKaaEnqTvz_gmSHP84<%4=(=F18>48>48>48>47=37=37=36<28>48>47=37=37=36<26<26<25:449349349338238238227105/05//4..3--2,,1++0*+0*(/((/((/((/((/()0)*1*+2+070.5.+2++2+.5.5<5<C<AHA?L;>K:<I78E34A-2?+3A*5C,DQ=KXDQ^LQ^MHTF<H<2>4-9/-3/-3/,2.gdUgdUheVheVheVheVifWifWifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[khWmlWimThpXht`hthm|wˆ—š¥´»ÀÉÐÔÛáéðööûÿúþÿýþÿÿÿýÿþúþþöýýñúûí÷úéô÷âîóÝçìÕàèÐÜà¿×Ú»ÖÖ¼Ù×ÂÝ×ÉßÖÍåÛÙìàâøìðüïöÿõûÿùþÿúýÿûûÿûûÿýúþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüöÿþ÷ÿþúÿþþþÿÿüÿÿùÿÿøÿÿ÷þÿøÿÿøüÿùùÿýúÿÿøþÿøúÿõöÿóÿþìÿýéÿòßÿñÛÿðÚñÒ½³zyS<tJ2uH1wI2{M6~O;zK7o@.e8%{LBsD:qB8sD:qB8g;0d8-h<1j>3i?3i?3i?3f>2f>2f>2f>2aA4`C5`C5_C5^D5[D4ZE4VE3XI6OB/\T?oiSc^HMK4IG0LJ3;E*?H->G*<B&<A#FI,VY:deFmmQxx\tw\[_F@D-6;%8@+<D/9?59?59?58>48>47=37=37=39?58>48>48>48>48>48>48>47<67<67<66;56;56;55:45:438238216005//4.-2,,1+,1++0,+0,*/+*/++0,,1--2.-2.051.3/+0,+0,-2.2738=9<A=?L;@M<@M;=J88E13@,1?(0>'<I5BO;HUCIVEDPB;G;2>4.:0.5..5.-4-gdUgdUgdUheVheVifWifWifWifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[khWkmWjnUiqYgs_drejyt…”—¡²¹¾ÇÎÓÚâèïõôùýùýÿýþÿÿÿýÿÿúÿÿøÿÿóþÿñûþë÷úåðõÞèîÔàéÎÛܽÕÕ¹ÑÑ·ÔѾÚÔÈáØÓêàßôéíþóùÿöþÿûÿÿýÿÿþÿÿþúÿþúþÿùþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüøÿÿøÿÿûÿÿþþþÿýþÿûüÿûúÿúúÿùùÿù÷ÿù÷ÿüùÿÿûþÿûûÿüùÿûùôîÿÿöÿþôÿýóÿüîÿ÷çùçÓéӾϴŸ¶š„•u`yVBlI5mH6rM;uP>mF7iB3gB2jE5nI9oJ:pK;oK;eA1eA1cB1cB1cB1cB1cB1bC1\G6\G6\G6ZG6YH6WH5TG4RG3PH3MH2fdM~~fprZVX@IM4HL3;E*<F+?H+AG+AF(DG*MN/TU6xw[{z^nnTUU=AC-?A,>A.;>+9?59?59?58>48>47=37=37=38>48>48>48>48>48>48>48>49>89>89>88=78=78=77<67<66;55:449338227105//4./4.-2.-2.,1-+0,+0,,1--2.-2.,1-,1-,1-,1-.21043376598:H7=L9@O<@O:<K67F/4C,2A*6E.:I4@O<BP??M>8F91?2,9/.5.-4-,3,fcTfcTgdUheVheVifWjgXjgXifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[khWkmWioUiqYgs_bpcgxr‚”– ³¹ÁÊÑÕÜäéðöõúþùýÿýÿþÿÿýÿÿúÿÿöÿÿôÿÿñÿÿïúýèò÷àéïÕàéÎÙÚ»ÑѵÍË´Î˺ÖÏÅßÕÓìâãøíóÿöþÿùÿÿüÿÿýÿÿÿýþÿúýÿ÷þÿøþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüýýÿýþÿýþÿýÿþþþüþÿùþÿ÷ÿÿõýýóýýõþýøþýùÿþüÿýÿÿýÿÿþÿþùÿÿüÿÿúþúöõýøôÿþöÿþñÿþïÿûéÿóàöåÓåÓ¿Ò»©¹ŸŸƒuŽrd|]I}^JrVAaE0W;&Y=(Z?*X=(`E0`E0_F0_F0`G1`G1^H1^H1[L9ZM:ZM:XM9XM9UM8RL6QL6NL5QQ9ikS|€glrXSY?DM2>G,:G+<F+?H+DJ.EJ,DG*HI*ML.yx\tsWfdKTR;LJ5KJ6FE3<=+:@69?59?59?58>48>48>48>47=37=38>48>48>48>49?59?5:?9:?9:?9:?99>89>89>88=78=78=77<66;55:4493382382/40.3/-2.,1-+0,+0,+0,+0,+/.,0/-10.21/32/32/32.210A.5F3;M7>P:=O7:L47I/6H.3E-6H0:L6<M::K95F6/?2*:--4,-4,,3+fcTfcTgdUheVheVifWjgXjgXifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[jiWjlVhnThrYfs_aqdhys…—™¤·½ÈÑØÛâêîõûøýÿúþÿýÿþÿÿýÿþùÿÿõÿÿóÿÿðüÿêøüåïõÛäêÐÛäÇÖÕ¹Î̳ÇÅ°ÊÄ´ÐÉÁÚÒÐêßãöìôÿ÷ÿÿúÿÿýÿÿþÿÿÿýûÿùüÿøûÿöþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüÿûÿÿüÿþýÿýÿþúÿúøÿ÷÷ÿó÷ÿò÷ÿòøÿóûÿøýÿúÿýþÿüÿÿûÿÿúÿýõÿÿúÿÿüÿÿýÿÿþÿýýûúûõ÷ùìÿÿóÿÿïÿÿïÿþíÿýíÿöçÿîâüêÞúäÍýçÐáË´¥xt^GdP8aM5\H0\J2\J2\J2]K3\L3]M4]M4]M4WO:WO:VP:VP:TO9QO8PN7NN6MO7PT;`fLfoTU^CEO4AK0:G+=J.?I.CL/HN2HM/FI,OP1YX:qmRjfKa]D[V@YT@TQ>MJ9EB1;A7;A7;A7;A7:@6:@6:@69?58>48>48>49?59?5:@6:@6:@6;@:;@:;@::?9:?99>89>89>8:?9:?99>89>88=78=77<67<6495273162/40-2.,1-+0,+/.,0/,0/-10.21.21.23-12,01):'/@-6H2;M5=O7<N4:L2:L25G-7I1:L6<M::K96G70@3+;..5--4,,3+fcTfcTgdUheVheVifWjgXjgXifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^kg[jiWikUhnThrYgt`brej{u‰›©¼ÂÎ×Þàçïòùÿúÿÿûÿÿýÿþþþüþýøúúðúúîúûë÷úåó÷àéïÕÞäÈÕÞÁÓÒ¶ÊȯÂÀ«Å¿±ËļÖÎÌæÝâôêòÿöÿÿùÿÿþÿÿÿÿýÿúûÿùûÿöûÿôþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüÿùÿÿúÿÿüÿûÿþøÿúôÿõóÿòñÿðòÿñõÿóøÿöüÿûÿþÿÿüÿÿùÿÿøÿÿùÿÿúÿÿûÿÿýÿýýÿùýÿúÿûüÿúöüðùýîûüìýûìÿúìÿúîÿýñÿüñÿðÖÿûáíÜŸŽtaP6RB(XH.XH.[M2[M2\N3\N3[P4[P4\Q5\Q5TO9TO9TO9QO8PN7NN6KM5IM4JN5LR8S\AOY>?I.9F*?L0=J.AN2DN3HQ4LR6IN0JM0ZY;miLhdIc]C_YA_ZD`[GZUBQN=LI8=C9=C9=C9<B8<B8<B8;A7;A79?59?59?5:@6:@6;A7;A7;A7;@:;@:;@::?9:?99>89>89>8;@:;@:;@:;@::?9:?9:?9:?99>:8=95:6384162/40.3/.21.21.21-10-12,01,01-12-12$5"*<&3E/9K3<N6;M3;M3;M38J09K3;M7<M:<M;7H81B2,<//6..5--4,ZgM[hN\hP_iQakSckTfkWhkXfgUhgUheVheVjdVldWldYmeZjgVkhYkg[kg^kg^jf]hfZgeVfiVfkUenYbo^dqhsƒ‚–§®¶ÈÒÓÚàäéíò÷ú÷ýýùþúúÿøüÿôüþñöùèùúèø÷åòñÝïìÙìéÖáÞË×Ò¿Úͼ̿¯À²¥¿²©Â·³ÍÁÁÜÑ×êàèúòýüöÿþûÿÿþÿþýÿüýÿüýÿüýÿþþþþþþþþþþþþþþþþþþÿþüÿþüÿþüÿýúÿüùÿüùÿüùÿýùÿþúÿþúÿþýÿýüÿüûÿýþÿþÿÿþÿÿýþýûüÿþÿÿúúÿûøÿýøÿüöÿúòÿøïÿùñÿûÿÿýÿÿýþÿÿýÿÿûýÿüýÿþüýÿþÿÿÿþÿÿüÿÿýþÿý÷ÿþîÿÿæÿÿâööÜýûâãâƉnTO2UN1RL,SJ+WN/UO/UN1TO1SO2QP4QP4PP6QM2PO3QO6PP6MO7KO6HM6EM5HQ6FO4AJ-?F'@G&EK)GM)FL(ST2RS3MN.JK,TT8bbHccIZZB[YB\ZC][B][B[Z>XW9UT6SR3KE/JD.FA-D?,A>/@>1??3>@5<=5;>59?59A67B48C57C57D3:B79A69A68@58@59A69A6:B7:B7:B79A6:B7;C8<D9=E:>F;7B:7C97A66A16?.4<-39-270.5./51-7/-9+-<%.B3J7O7Z 8Y$8W+:U2:R8;P==O?>O=:L6@R8EX:EZ;DY:>U93J0(>'.5-,3++2*ZgM[hN\hP_iQakSckTglXhkXghVihVifWifWkeWmeXmeZnf[khWkhYkg[kg^jf]jf]hfZgeVgjWglVfoZerajwnzŠ‰š«²·ÉÓÑØÞáéìò÷úøþþùþúúÿøûþóúüï÷úé÷øæõôâíìØéæÓåâÏÜ×ÄÑ̹˾Á´¤º¬Ÿ¼¯§Á¶²ÌÀÀÛÐÖèÞæûóþý÷ÿþûÿÿþÿþýÿüýÿüýÿüýÿþþþþþþþþþþþþþþþþþþÿþüÿþüÿþüÿýúÿýúÿüùÿüùÿýùÿýùÿþúÿþýÿýüÿüûÿýþÿþÿÿþÿÿýþýûüÿþÿÿýýÿüùÿøóøíçòåÝöèßÿïçÿûÿÿýÿÿýþÿÿýÿÿûýÿüýÿþüýÿýþÿþýÿÿýÿÿýþÿý÷ÿþîÿÿæÿÿâ÷÷ßýûââàÇ‹‡lRM0TM0QK+SJ+WN/UO/UN1TO1SO2QP4QP4PP6QM2PO3PN5PP6MO7KO6HM6EM5HQ6EN3BK.AH)BI(GM+JP,KQ-NR/PT1VZ9^aBaaE[[?VV<UU=VV>VV>XV=YW>XW;XW9WV8VU7QK5OI3LG3ID1DA2B@3??3>@5<=5;>59?59A67B48C57C57D3:B79A69A68@58@59A69A6:B7:B7:B7:B7:B7;C8<D9=E:>F;<G?<H><F;;F6<E4:B39?38=67>76<83=51=/3B+9M*BY-Ia1Nq7Mn9Ji=Fa>AY?<Q>:L<:K9=O9DV<K^@LaBLaBF]A:Q7/E.-4,+2*)0(ZgM[hN\hP`jRakSdlUglXilYijXkjXkhYkhYlfXmgYnf[og\khWkhYkg[jf]jf]ie\hfZhfWgjWejTdmXgtco|sŽ›¬³³ÅÏÎÕÛÞåëñöúøþþúÿûùþ÷øûòõ÷êòõäðñßêé×áàÌÜÙÆ×ÔÁÐ˸ÆÁ®À³¢½° ½¯¤Ã¶®ËÀ¼ÖÊÌãØÞíãëüôÿý÷ÿþûÿÿþÿþýÿüýÿüýÿýÿþþþþþþþþþþþþþþþþþþþÿþüÿþüÿþüÿýúÿýúÿýúÿüùÿüøÿüøÿüøÿýüÿüûÿûúþüýÿþÿÿþÿÿýþþüýÿþÿÿýýÿýúüóîêßÙâÕÍëÝÔüëãÿûÿÿýÿÿýþÿÿýÿÿûýÿúýÿþüýÿýþÿþýÿÿþÿÿþÿÿý÷ÿýíÿþåÿþáøøàþüåáßƉ…jPK.RK.QJ-SJ+VM.UO/UN1UP2TP3QP4QP4OO3QM2ON2PN5OO5MO7KO6IN7FN6HQ6FO4CL/EL-FM,KQ/OU1SY5QY0W_8jpLy]qvVY^@LO4MO7QQ9QQ9QQ9SQ8TR9UT8WV:ZV;XR<VP:RM9NI6HE6DB5AA5?A6<=5;>5:@69A67B47B47C57D3:B7:B79A69A69A69A6:B7:B7:B7:B7:B7:B7;C8<D9>F;>F;>IA>J@?I>>I9?H7>F7>D8=B;>E>;A=6@85A39H1BV3Pg;ZrB]€F\}HVuIMhEBZ@9N;5G74E3<N8EW=NaCRgHShILcG@W=4J3180/6.-4,YgM[hN\hP^jRblTemVhmYjmZklZklZlj[liZnhZnhZog\ph]liXkhYjfZjf]ie\ie\hfZhfWehUbgQajUerao|s~Ž”¥¬¨ºÄÈÏ×Úáçìô÷öûþ÷ýûõúôóöíïñäèêÜãäÒÜÛÉÔѾÎ˸ËƳþ«¼·¤Ä·¦ÇºªÎÀµÖÉÁßÔÐêÞàóèîúðùýõÿþøÿÿüÿþýÿýüÿüýÿüþýýÿþþþþþþþþþþþþþþþþþþþÿþüÿþüþýûÿýúÿýúÿýúÿýúÿüøÿû÷ÿû÷ÿýüÿüûþúùýûüÿýþÿþÿÿýþþüýÿüýÿýýÿýúýôïíâÜæÙÑðâÙÿðèÿûÿÿýÿÿýþÿÿýÿÿûýÿúýÿüüýÿýþÿþýÿÿþÿÿþýÿþõÿýíÿýäÿüßûûãÿþçâàÇŠ†mPJ0SL0SL/UL-VM.UO/VO2UP2TP3QP4PO3NN2PL1NM1OM4NN4LN6KO6JO8HP8JS8GP5GP3KR3MT3PV4V\8]c?fsGtU‡”i›s…lnuTZaBRV;LN6NN6MM5NL5OM6TP7WS:YU<ZT>XR<TO;QL9KH9GE8CC7@B7=>6<?6:@69A67B47B46B46C2;C8:B79A69A69A69A6:B7;C8;C8:B7:B7;C8;C8=E:>F;?G<<G?<H>>H=>I9?H7>F7>D8=B;=D=;A=6@85A39H1DX5Ri=]uEY|BXyDRqEIdA<T:2G4.@0->,6H2@R8L_AQfGShIMdH@W=4J329107/-4,YgMZhN\hP^jRblTemVgoZjo[lo\lm[mk\mj[nhZnhZoi]ph]liXkhYjfZie\ie\ie\ig[igXfiVchRajUerao|s{‹ŠŽŸ¦Ÿ±»ÂËÒÕÜäéðöòúüôúøñöðíðçéëÞáãÕÚÛËÒÑ¿ÌɶÉıþ«¾¹¦»´¢Ë¾®ÓŸÝÏÄæÙÑíâà÷ëíÿôúÿøÿÿ÷ÿÿúÿÿüÿþýÿýüÿûüþüþýþÿÿþþþþþþþþþþþþþþþþþþÿþüÿþüþýûÿüùÿýúÿýúÿýúÿû÷ÿúöþùõÿýüÿûúýùøüúûþüýÿýþÿþÿÿýþÿüýÿüüÿüùÿøó÷ìæòåÝøêáÿóëÿûÿÿýÿÿýþÿÿûÿÿûýÿúýÿüüýÿüýÿþýÿÿþÿÿþýÿþõÿüìÿüãÿúÝþýèÿÿëåãÌŒˆoRL2UN2TM0WN1VM.UO/WP3VQ3UQ4QP2ON2MM1PL1NM1NL3MM3LN6LP7KP9JR:LU:IR7JS6QX9SZ9U[9]c?gmI€”a’¦sŸ±š«’¡xˆ”pr|Z\bFLP7KM7LK6KI4NI5PK7TM:VP:WQ;VP:SN:QL9LI:IG:EE9CE:=>6<?6:@69A67B47B46B46C2;C8;C8:B79A69A6:B7;C8;C8;C8;C8;C8;C8<D9=E:>F;?G<<G?<H>=G<=H8>G6=E6=C7=B;:A:9?;5?75A39H1BV3Ne9Wo?Sv<St?NmAE`=8P6-B/*<,+<*1C-<N4H[=OdERgHLcG@W=3I2.5-+2*'.& \ No newline at end of file | 4 | 0/-0/-10.21/51.51.62/72.83/83/83/:3-:3-:3-:3-:3-:2/91.91.80-80-91.91.:2/80-80-80-80-80-80-80-80-6.+6.+6.+5-*5-*4,)4,)4,)4,)4,)4,)4,)4,)4,)4,)4,).+$/,%/,%0-&1.'2/(30)30)63,63,74-85.85.96/:70:70A;/B<0D>2F@2IA4JB5KC6KD4MD5MD5MD3NB2OC3OC3PD4QE5T>1Y?2b@4nB5}E6ŒG8šG9¥E7²F9ºF9¿E8ÆF;ÉF>ËF?ÌG@ÌG@íCNíCLíCLíDKíDIïBFñ>Bõ<Aø;Aø9@ö9?ð;@ë>@â?@×?<Ñ=;µ@.µ@.µ@.´?-´?-³@-²?-°?-@,ªA.¦A-¢B,A*›A)˜@*—A*’?/’?/’?/‘>,‘>,’<+’<+’<+”?+”?+”=*”=*”=*•>+–?+—@,”?:•>7—=4Ÿ?1©B3³D3¼D3¿D4º?/¶@2E8žH;‡H9mB2T8*D3#:659549547326216005//50-72/72/72/61-61-50,50,50,.0-.0-.0-//-//-0/-2.-3--5,-4+,4*+4(*7(+=.1E69L<?n@B|HJ‹MN–NO¢VZ¬cln s’|£„°}‡¼|‰¾pz`aTLuRCjSKcOG_MH\TR`fdo|}‚‘™ž˜£©Ÿ¤¨š¡’’{|jhgUXWERO>UPdUPdUPd0/-0/-10.10.40-51.62/72.83/83/83/:3-:3-:3-:3-:3-91.91.80-80-80-80-91.91.80-80-80-80-80-80-80-80-6.+6.+5-*5-*5-*4,)4,)4,)5-*5-*5-*5-*5-*5-*5-*5-*/,%0-&0-&1.'2/(30)41*41*63,63,74-74-85.96/:70:70@:.A;/C=1E?3H@3IA4JB5JC3LC4LC4KB3MA1MA1NB2OC3PD4P>0U?1^A3jC4xD6†D4“D5žB3¨B3°@2¶@4¼B7ÂC:ÄE<ÆF=ÇG>èAKèAIèCIêDHíDGïBDó@D÷>Cø;Aø9@ö9?ð<?é?@à@@Õ@<Î=8µ@.µ@.´?-´?-´?-²?,°?-¯@-@,©@-¦A-¡A+A*›@+˜@*—A*’?/’?/‘>.‘>.‘>,=+’<+’<+”>-“>*“>*”=*”=*•>+–?,—@-“@8•>5˜>3Ÿ?1«A3µD4½D3ÁC4¼A2¸B6E8œI;…G:kA3S9*D4$<66;55:4493382271161.61.72/72/72/61-61-50,50,50,.0-.0-.0-//-//-0/-2.-2.-3--5,-4*+4(*5)+<-0C47I:=h<;vDC†JI’LJST§`h¨k{rŽ‘{¢„°|†»y†½lv«[\ŒQHsQBkOFaOFaNI_RN_[Yfnotƒ‡ˆ”™•™ž—š ”™‘ƒ~ojk[]\JVUCXQaXQaXQa/.,/.,0/-10.40-40-51.51.72.72.72.92,92,92,92,92,91.80-7/,7/,7/,7/,80-91.80-80-80-80-80-80-80-80-6.+5-*5-*5-*4,)4,)4,)4,)5-*5-*5-*5-*5-*5-*5-*5-*1.'1.'2/(30)30)41*41*52+63,63,63,74-85.96/96/:70?9-@:.B<0D>2G?4H@3H@3H@3I@1I@1I@1K?1K?/L@0MA1NB2MA1QA2YB2dC2qC3|C2‰A2“@0™<+ :+©;,¯>0¶@4¼C8¿F=ÀG>à?Eá@FãBGæCFêDFðCEõADù?Dú;@û:?÷:@ñ=@è@@ÜA=Ñ@;É>7³@-³@-³@-²?,²?,²?-¯>,®?,ª?-©@-¥@,¡A+A,˜@*—A*–@)’?/‘>.‘>.‘>.=+=+=+’<+“=,“=,’<+’=)“>*“>*”?+•@,”B7–?5š>3£>2A4¹C5¿D5ÂC4ÂD6ºF9¯I=›I=‚F;gA4P:,B6&=77=77<66:4493383072/72/62/62/62/52-52-41,41,41,,1-,1-.0-.0-//-//-0/-2.-5//4..5,-4*+4*+9-/>24C79_83l?:|E@ˆIB’NK›Z^œft”n‡Œwž€~¯zƒºs¹dm¤UU‰NEtO?lMBbPEcQHcMH^NK\[[estx…‰ˆ‡Œ†Š†…†Š|xzlghXZ[KVTEZT`ZT`ZT`.-+/.,/.,0/-10.40-40-40-51.61-61-61-81+81+81+81+50-50-4/,4/,4/,4/,50-50-61.61.61.61.61.61.61.61.3.+3.+3.+2-*2-*2-*1,)1,)4/,4/,4/,4/,4/,4/,4/,4/,30+30+30+41,41,52-52-52-52-52-63.74/850850961961>8,?9-@:.B<0E=2E=2F>1F>1G=1G>/F=.I=/I=/J>0L@0L@0JD4NE4TD4^D3hE2sB1~A/‡>-Œ9'”9'9)£<-¬@3³E8·I<ºJ>Ù@CÚACÝCEâDEçCDîACô@Cø>Aü;@û:?÷:>ð=@åA?ÚB=ËA7Ã>5°@,°@,°@,°?-¯>,¯>,®?,¬>-ª?-¦?,£@-Ÿ@,œ@+˜@*–@)”@(‘>.‘>.‘>.=-=-=-<*<*=+=+<*<*=+“=,”>-”>-”B6–?5›?2¦@2²B4½C6ÂB5ÄB5ÄF:½H>K@˜J@|F:aA4K;.?9+@86@86?75>64:5294183073062/62/62/32.32-21,21,21,-2.-2.-2./1./1.00.00.10.5106005//5,-4+,6,-:01>45W6-b<3qA7}D9„H@ŒRQŽ_i‹iƒs˜|z¬u~·myµ^g¢RQŠMDyM?rN@dPEgQFfLC^GBVNLZ^^fjnquzvx}vz€vwzokoa`bUWYKTUG]V^]V^]V^.-+.-+.-+/.,0/-10.3/,40-3/,4/+4/+4/+4/+6/)6/)6/)4/,4/,3.+3.+3.+3.+4/,4/,50-50-50-50-50-50-50-50-3.+3.+2-*2-*2-*1,)1,)1,)4/,4/,4/,4/,4/,4/,4/,4/,41,41,41,41,41,52-52-52-52-52-63.63.74/850961961<5+=6,?8.@9/B:/C;0C;0C;.D:.D:.D:.G;-H<.I=/J>0K?1GH6KH7PG6XG5aF3jD1uB/|?,‚;)‹:'’;(š=,£B2«G7±K<´M>ÒDBÔDCØDBÝEBâC@ê@@ð>>÷:>û:=ú9<õ;>í?>áB>ÓC:ÅA5º?0¯@-®?,®?,®?,>+>+¬>-ª?-¨?,¤?-¢?,ž?+š?*–?+”?*“>)?.?.>->->-Ž=,Ž=,Ž=,Ž=,Ž=,Ž=,Ž=,<,=-‘>.‘>.”B4—A4@1ª@3¶B5ÁC7ÆA8Å@7ÁB;¸G?©KCJ@uE;Y>3C9-78*@86@86?75>64=53:5294173062/43/43/32.23.12-12,12,,2.-2.-2.-2./1./1.00.00.3205105104..2,,4+,7./901P5*Y9,e>/n@1tB7|KGƒYcƒg~p—xx¬s{¹js¶]e¦TT”OG‚LAyPAjPAhMAeJA`GBYHEXKKWMPU^bc`fbcha`f\Z`TWZOUYKWYL`WZ`WZ`WZ,,,,,,---.-+/.,0/-10.3/,2.+2.+3.*3.*3.*3.*3.*3.*3.+3.+2-*1,)1,)2-*3.+3.+3.+3.+3.+3.+3.+3.+3.+3.+2-*2-*2-*2-*1,)1,)1,)0+(3.+3.+3.+3.+3.+3.+3.+3.+41,41,41,41,41,41,41,41,41,52-52-63.74/850850850;4*<5+=6,>7-@7.A8/A9.A9.C9/C9-C9-F:.G;/H<.J>0K?1FI8GH6MH5TG6[F3dC0lA.t?-{<*‚;)Š;*“=,šA1£F5ªJ:M=ÉE@ËFAÑFAÖE@ÞC?å@>í==ó9<ø:<÷9;ó;=ë?=ÝB=ÌD8¼A2±>,«@,«@,¬?+¬>-¬>-©>,©>,¨>.¥>-¢?, ?,›>,—?+•>*“>)‘?)>->->->-Ž=,Ž=,Ž=,<+Ž=,<+‹<+‹<+‹<+Œ=.>/Ž?0’C2—A2 @2A5»B9ÃC:Ç@:Å@9»@9³H@¥NGNEoG=R@4?;039-A75A75@64>63<4194083/74/63.43.34/23.13.02-02-02--3/-3/-3/.3/.3/02/02/11/11/32032040/2.-1-,4..5//H4)M5)X8+a<,f>2nGBzYb‚lƒ€uŸ{|´u|Àmu¾bi±[[¡SLLBQAnN?jI=cH>`HB^FCX@BO<?HBGJFLJJQJJQIIQFKQGOUISYMaXSaXSaXS++++++,,,---/.,/.,0/-0/-1-*1-*1-*2-)2-)2-)2-)2-)2-*2-*1,)1,)1,)1,)2-*2-*1,)1,)1,)1,)1,)1,)1,)1,)2-*2-*2-*1,)1,)1,)0+(0+(3.+3.+3.+3.+3.+3.+3.+3.+41,41,41,30+30+30+30+30+41,41,52-63.74/74/850850:3+;4,<5-=6.?6-?6-?6-?6-B8.B8.C9/E9-G;/H<0J>2K?3DG6EF6KE5PD4VC2^C2e@.m>,v=,|;)ƒ:)Š;*“=.›B2¢F7¦I:¿D<ÂF>ÇG>ÏF>ØE>âC?ì@>ó<>õ9:ó9:ï;<å@<×B;ÆD6´A/¨=)©@-©@-©@-¨?,¨?,¨>.§=-¥>-£>, ?.ž?-š?,—>,“>*‘?*>)>->->-Œ=,Œ=,Œ=,‹<-‹<-‹<-‹<-‰<,‰<,Š=-‹=0‹=0Œ>1‘D2–C1¡A3®B6¼C:ÅA<ÇB=ÃB=»EA³PJ¥XPŽZOqSIVI@BD97A6A83@72?61=60<4194083/63.43.43.34.13.13.02-.3-.3--3/-3/-3/.3/.3/.3/02/02/00.11/22021/0/-/.,2.-3/.?0)C1'K3'T8,Z<2dGCw]hƒsˆ„„À|ƒËszÈkq¿ed°VSšJC‡N>kK<gG;cG=`FB]DBX?AP;?H:BE?HGDMHGQIGQHJRGNVKRZOaYNaYNaYN++++++,,,,,,---/.,0/-0/-/.,1-*1-*1-*2-)2-)2-)2-)1-,0,+0,+/+*/+*0,+0,+1-,/+*/+*/+*/+*/+*/+*/+*/+*1-,1-,1-,0,+0,+/+*/+*/+*1-,1-,1-,1-,1-,1-,1-,1-,3/,3/,3/,3/,3/,3/,3/,3/,40-40-51.62/62/73084184192,:3-;4,<5->5.>5.>5.>5,B8/B8/C9/E8/G:1I<3J=4K?3EC6FB6IC5NB4TA3\@2b>0h=-q<.w9*}8)…7*Œ:,•=/›B2 D5µE9¸F;ÀG<ÈH=ÒH>ßF@èC?ð@@î:9î:9é=;àA;ÑD:¾E4¬A-¢?(¦A-¦A-¥@.¥@.¦?.¥>-¤?-¤>/¢>.Ÿ@.œ?.˜?-•>+‘?*>)>+>->->-Œ=,Œ=.Š=-Š=-Š=-Š</ˆ<.ˆ<.ˆ<.ˆ<.‰=0Š>1‹?2‘D2–C1¢B4®B6¼C;ÄC>ÄC>¾D?»PJ²[T¥e\‘f]s_TYUJFNC>KA@70@72>71=6094.83-63,63.43.34.34.13.13..3-.3-.3--3/-3/-3/.3/.3/.3/.3/02/.0-00.22022000.0/-0/-10.8,,;,)B1*K7.S<4^IHtbn‡z–Š¸‹Ê‚ˆÒy€ÐrwÈik¸XV¡GD‹I<gG<fD<aC>^C@[ABV>DP>EMGQSKWUQ^WU`XS_UR^TT^SV`UaZHaZHaZH,-/,-/------------.-+.-+/.,/.,1-*0,)0,)0,)/+(0+'/+*/+*/+*/+*/+*/+*/+*0,+/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*0,+0,+1-,1-,2.-1-,1-,1-,1-,1-,1-,1-,1-,0,)1-*2.+3/,3/,3/,3/,3/,3/,3/,3/,3/,40-51.62/73081+92,:3-;4.=4/>5.>5.>5.?4.?5,@6-C6.D7.F90G:1H;2F?5H@5J@6N@5R>3W<1\:0a7+k9.t8-|8+…9,;/“=0˜?1›?2¨@3¬B5´D8¾E:ÊG=ÕF>ßD?çB>ë?=íA?çD?ÜE>ÉC8¶C1§B.¡B,¢A.¡@-¢?,¢?,¡=-¡=-¢>. ?.œ<,š=,˜=+•>-“=,=+Ž=*Œ>*‹<+‹<+‹<+‰<,‰<,‰<,‡;-‡;-‰=/†</†</‡=0‡?1ˆ@4‰A5ŠB6‘F3–E4£F7³H>½F@¾C>¾DA»KG·XR¯f]£qfth|rfik^S_SCSHQJBLE=D=5<8/95,74-63,33+43.34.23-13.02--2,,1+,1+-2.-2.-2.-2.-2.-2./1./1.02/02/11/11/11/11/11/11/5*2;/3A32C4/J;6]OOymy‹…Ÿ’‘½”–Ӕ݂‰×tzÈjn¸_b©YZPHmHBdA>]>>X?AVBHVLU^U`bbqnn}xv†|p€ulyoguh_k_T`Ta[Eb\Fc]G,-/,-/,-/,-/---------.-+/.,.-+.-+0,)/+(/+(/+(/+(.*).*).*).*)/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*/+*0,+0,+0,+1-,1-,1-,1-,1-,1-,1-,1-,1-,1-,0,)0,)1-*2.+3/,3/,2.+2.+2.+2.+2.+2.+3/,40-51.62/80-91.:2/;30=4/>50>50=4-?4.?4.?4.B5-C6.E80G:2H;3H>5J=5L=6O>6Q=4V;2Z90_7/h8.p7.y6-‚8-‰9.’;1–<1š>1¢@3¦A5ªB5³E8¾E:ÉF<ÔE=ÜC=âC?ãD@ßF@ÕF>ÄF8±C2£B/›C-ŸB0 A/Ÿ@.ž?-ž?-Ÿ>-ž>.ž>.š=,™=.–=-“=,=+>-Œ=,‹>,Š=+Š=+‰<,‰<,‰<,‡;-‡;-…<-†</…=/…=1ƒ=1„>4†@6‡A7ˆB8‘H7•F7£G:±I@¹HB¹FAºJFµTM²dZªreŸ~op~|mlteYgZJZOPLAKI=EC7@>2=:1:7.44*11)23+23-12,/1,/1,.0+.0+.0-/1./1./1./1./1./1./1./1.02/11/11/11/11/11/11/11/5*:9-9<15?53H?:^VTxszŠˆž‘“º”—Εׄ‹ÓxÆpyºkt¯en¥__yXZsSUjRWjU]j\gmguvr‚v‡€‘‡ƒ•‰}v†yp€sfteXfW_YA`ZBb\D,-/,-/,-/,-/,-/---------.-+.-+.-+-,*/+(.*'.*'.*'.*+.*+.*+.*+-)*-)*-)*-)*/+,/+,/+,/+,/+,/+,/+,/+,.*+.*+/+,/+,/+,0,-0,-0,-0,-0,-0,-1-.1-.1-.1-.1-.0,+0,+1-,2.-2.-2.-2.-1-,1-,1-,1-,1-,2.-3/.40/51080-91.:2/;30=31=31=4/=4/?40?4.?4.A4.C60D7/F91G:2H;5J;6K<7N=6P;6S:5V72[60c60k6.t5,}7/‡9/Ž:0”<0˜<1œ@3ž@4¢@3§A3±C6¼C8ÇD:ÎC<ÖF>ÚG@×HBÍH?¾E:C3ŸB0™B.B/œA.›@-›>-›>-›>-›>-œ?0˜<-–=-”=,“=.>-Œ=,Š=+Š=+‰<*‰<,‰<,‡;+‡;+…<-„;,ƒ;-„<0‚<0‚<2‚>3ƒ?4…A8†C:‡D;“K<–H; H>JDµIF´KG´SM¯_V®rg¥qœz{Šwr€ocqbVdWPQCMN@HI;DD8@@4::055+/0(01)01+/0*/0+./*./*//-//-//-//-//-//-//-//-//-//-00.00.00.00.00.00.00.00.6*>6+;8.6;63HE>_^Yyz|Šœ“²’–ÃŽ•Ë„Æ}ˆ¾{‰¸|‹´|Œ°ˆ—yƒq~‡o|‚n}€o‚€yŽ‡ƒ™‹¡”‘¨˜¦”ˆŠƒ–ƒ|{j{iXiW\V<^X>`Z@-.0-.0-.0-.0-.0-.0......---.-+-,*-,*,+).*'.*'.*',*++)*+)*+)*+)**()*()*(),*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+-+,-+,-+,-+,.,-.,-.,-.,-/-./-./-./+*0,+1-,1-,1-,1-,0,+0,+0,+0,+0,+0,+1-,2.-3/.40/91/:20;31<42=31=31=31=31>3/>3/>3/@3-A4.C60D71E82G83H94I:5L:6M:6N94Q83T50^72e60o6/x8/ƒ90Š:/’;1•=1™?4™?4›?2@1¥A2C5¸D7ÀD:ÉF<ÌG>ÌIAÄH>¶F:©C4B0—B.˜A.˜A.˜?-—>,™>,™=.™=.™=.•<,”<.“=.=-Ž<.Š=-Š=-ˆ<,ˆ;)ˆ;+‡;+‡;+„;,„;,ƒ;-‚:,;/€<1€<1>5ƒ@7ƒC:…E<†F=’M>•I<œH>¨IC¯LG¯PL¯\Tªj^§€o y˜š‚Žœƒ„–€z‹ym{lam_UYHQUDKO@EI:@D6;=057,13(01)/0*/.).-).-).-+/.,0/-/.,/.,/.,/.,/.,/.,/.,/.,0/-0/-0/-0/-0/-0/-0/-0/-8*A6):3-1961HJ=bfX{€y‰‘“Œ“£–²Œ”¸ƒ³±…™²¤¶ªµ•§§¤£Œ ž‡ž–‚™}˜‰œ‹ˆ£”°š–²›”—‹£‹…›†’~k|iUfSXT7ZV9^Z=+/2+/2-.0-.0-.0-.0-.0...------.-+-,*-,*,+),+),+),*+,*+,*++)*+)**()*()*(),*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*+,*++)*+)*+)*,*+-+,-+,.,-.,-/-./-./-./+*0,+0,+0,+0,+0,+/+*.*)/+*/+*/+*/+*0,+1-,3/.40/91/:20;31<42=32=32<20<20=20=2.=2.?1.@2/A4.B5/C60D63C84D95G96G96H94K84N51V72_60h70r7/}:1†<1=2>2˜?7—?5—?5—?3šA3£C5ªD6³E8ºE;¿F=ÀG>»F=°D8¤B5™@0–@/–A-–A-–?,•>+•<,•<,–=-–=/”<.’<-=-Ž<.‹<-‰<,ˆ<,ˆ<,‡;+†:*†:*†:*ƒ:+‚:+‚:,€:.;0€<1€=4?6‚B9ƒD;†G@‡HALA’H?˜HA¤KGªOLªWQªf]¥wh¡Œw˜›€’¥‰Š¤‡„ž…|’}t‚qlte\eRV_LMVCEL<?F6<@27;-68-01)00(.-(/+(/+(/+*2,,3--1-,1-,1-,1-,1-,1-,1-,1-,0/-0/-0/-0/-0/-0/-0/-0/-9*?5)73*-66*GL6_iPx„nˆ“…—–™¢™§†–¥‡›¤ª©šº¯ŸÁ±š¶¨š¶§›·¨˜¸£‘±š‰«’‰«²”’³”•´•ˆ¢…ƒ›{’xgzdQcMTS5VU7XW9,03,03,03,03./1./1./1///..........-+.-+.-+-,*-,*-+,-+,-+,,*++)**()*()*()+)*+)*+)*+)*+)*+)*+)*+)*,*+,*++)*+)*+)**()*()*(),*+,*+,*+-+,.,-.,-/-./-./+*/+*0,+0,+/+*/+*.*)-)(0,+0,+/+*0,+1-,2.-3/.40/:12:12;23<42=32<21<21;1/=20<1/<1->0-?1.@2/A30A30?61@72@93A96A96B94E74G51O61W6/a6/j8/u9.€</‡=0Š>0•>7•>5“?5’@4•B4™C4ŸC4¥D4ªB5²C8´E:±E;©C7 @4˜?1•?2“A,’?-“=,“=,“<+“<+”<.”<.“;-’</<.;-Š;,‰<,‡;-…<-†:*†:*…9)ƒ:)ƒ:+9+:+9-€<1<3?5A8‚C<…F?†JB‡JEJAG@—HC¡NJ©VRª_Y©pe£„r›•{’¢…‹ªŠ„©ˆ€¡„~–~z‡uszjcqZ]iSR^JHT@BK:>E5:@29<134,22*1.)/+(/*'0**3*+4+,1++1++1++1++1++1++1++0,+1-,1-,1-,1-,1-,1-,1-,/.,;(;5(23+(56$CL-\hDt„`…”wŽ›‰’ž”Ÿšž–¥—•µ¡Æ¤¦Ð¨¥É¯¦Ê°§Ë¯¢Éª—¿‹³ˆ°‹³ŽŽ²Ž²¬Š„¢€€™{wŽrdx]MaHQQ5QQ5RR6,03,03,03,03./1./1./1./1/////////0/-/.,/.,.-+.-+/-..,-.,--+,,*++)*+)**()+)*+)*+)*+)*+)*+)*+)*+)*+)*+)*+)**()*()*())'()'(+)*+)*,*+-+,.,-.,-/-./-./+*/+*/+*/+*/+*.*)-)(,('0,+0,+0,+0,+1-,2.-40/40/:12;23;23<34=32<21<21;10<1/<1/<1/=/,>0->0-?1.@2/;60;62;83<94=:5=:5?82A60F5.O4-W5+b6+n8,x:-<,„<.’:6‘<5=5Ž@4A4‘B3•B2™@0Ÿ?1¦@4ªB7ªB9¥@6?5—=2•?2‘@-’?-‘>,’<+‘;*‘;,“;-“;-‘;,<.;-‹<-‰;.‡;-„;,„;,…9)…9)…9)‚9*‚9*9+~8,}9,=1€=4€@7B9„E>…HCˆKFŠMHŒIAŽGA˜JF¢SOª\X«h`©{n£Žy—Ž©ˆ…¯‹«ˆ~£„€˜€‹w{nixacr[ZhQP]IIUACL;>D6<?467/44,30+0+(1)'1()3)*5+,2)*2)*2)*2)*2)*0**0**0**1++1++0,+0,+0,+0,+0,+0,+;&57(/4-%46?I$Ue8pT‚’kœ}‘Ÿ†’¡Œ¡ˆ¨‡•¹žÉ“¢Ò”©Ò°¨Ò®¥ÑŸÌ¥‘¾•ƒ°…‚‚†±„†¯ƒŒ±ˆ‰¬„Ÿ{{”tqˆk_sWJ^CMM1LL0KK/,03,03,03,03./1./1./1./10000000000/-0/-0/-/.,/.,0.//-./-..,--+,,*++)*+)*+)*+)*+)*+)*+)*+)*+)*+)*+)*+)*+)**()*())'()'((&'*()+)*,*+,*+-+,.,-/-./-./+*/+*/+*/+*.*)-)(,(',('1-,1-,1-,1-,2.-3/.40/510;23;23<34<34=34<21;10;10<1/<1/;0.=/.=/,>0-?1.?1.96/:729839839:4:94;83>71A2+I2*S2)^4(j6)s8*|:*~;+84:5=4Œ@3‹B3A1@/”>-˜<-Ÿ=0¥@4¦A7¢@7œ>4—=4•=3‘@-?,=+<*‘;*‘;,‘;,’<-‘;.<.;-Š;,ˆ:-‡;-„;,„;,…9)…9)‚9(‚9*9*€8*~8,}9,€>2?5€@7‚C<ƒG?†IDˆMGŠOIŒICHD˜MJ¥UT¬a^ng«s¤•€–¡ƒŠ¬‰‚°‹|«‡|£„™y‚ql{dgv__nWXeQP\HIRAAG9=@579.66.41,1,)1)'2()3)*4*+2)*2)*2)*2)*2)*2)*2)*0**1++1++1++0,+0,+0,+0,+0,+:&27(+4."47=HRb1l~J€’b‰™rŽ|Ÿ‚ŠŸ~Š§{·€˜Æ…œÎ…œÉ¢šÉŸ™Èž”׉¸Š®€‚°‹¶ˆ‚¬~ˆ¯ƒ‡ª€~œvuml„dZnRG[?IL/GJ-DG*/0*/0*/0*01+01+01+21,21,32-63.63.63.52-50,4/+4/+8.,7/,6.+5-+4,*2-*1++0,-0,-.,/--/-,1,+0*+/)*.()./(0/(//(//(//(//)-.)-.*+/+,-,*-,(.-).-)-.(./)./)--/--/---.../-.0/-2.+3.+2-)4,)5.(7.)8/(;0*;1(<2)<5+=4+>5.>5.>5.=4-<3.<1-=2.<1-<1/;0.=/.>0/>0/?11H-&C1';5)2:++=-(=.-;.45-?-+H()R%(X((Z.+Z8.[A2\G6wC-{B.„C1A3’?1•;0–:/”8+“;-‘>.‘B1‘D0‘D0B.?,<*Ÿ63›83”:2Œ<1…@1B0|A/|A/‚C2„A1ˆ>1‰=0‰;/ˆ:.‡9-‡9-v:/|@5u=0n9)s@/s@/t<+{@0{<-ƒ?4ˆD9‹H?ˆLA„NBQC€RC—HK•TRd]…ue{…lw’sz|€£ƒ‰¦ˆŽ¥‰’¤Œ‘¥Œ‡¤ˆy¢‚kŸ{awhŽea†]\zV[sS]mR[cLVTEPH=J;6G53B,/=&,:#+:#-9#/8".#/-#-,$-,&*+))+-(.1'/2'/4'06&14'14'13'32(32(30(3.)-0,-0,)//'=>0WZErx\‹gœs‹žpŒ¢qŒ§r‹¨r‰ªs³{›¾†£¿Ž ¾Œ›¹‡’²€‹{†ªz„ª{…ª~„§}…¥€€ž|z“vr‰oi{e[jWLZIKO@CG8>B3/0*01+01+01+12,12,21,32-43.63.74/74/63.61-50,50,7/,7/,6.+6.,5-+2-*1++0,+0,-/-./-0--/-,1+*/)*.()-/(//(//(//(//)-/)-.*+.*+/+*-,*.-).-)/.*./)./)./)..0....../-./.,/.,1-*3.+3.*5.(6/)8/(90);0*<2)=3*>5,>5,>5.>5.>5.=4-<3,=2.=2.<1-;0.;0.;0.=/.>0/?10F/'D0)A3*=4+96-85.83-<1-?-+D*)K)(P*'U.)[4-_:1c?3s@+xA-€A0‰?2‘?4”;3”:1“;19.‹<-Š>.ŠA0‹B1B/ŽA/@/š93—:3’;2‹=1„?0‚@0@/?/„A1†>0‰=0‰;/‡;.„:-‚:,‚:,w9.x<1s9-n9)r?.s>.q9*u:,}=1„@5‰E:‹H?‰K@†MB„PCQC›DJ›QR–d]vfƒ‡p}”w~ ƒ¦…ˆ§ˆŽ§Š’¦‹“¥Œ£‰‚Ÿƒwœ}o˜xa•g\`VƒZU}XWyXWpSPbJKVECI;@A998340-0,+/+,.)--(,*,+)+***,+),-(,/)-2(03(03(02(02(10)1/*1-*1,+3,+32-12./0,)--%9:,TWBox[€‹i‡–o†™l†žnˆ£p†¤p„¥pŠw“¶€›¹‡˜¶„“³Œ®{†«xƒ§w‚¨yƒ¨|ƒ¦|„¤{x’uqˆnh{eYjWL[HGK<@D5:>/12,12,12,12,23-23-43.43.54/74/85085085083/72.61-80-80-7/,6.,6.,3.+2,,1-,1-./-.0.1..0--/,+0+*/*).1'//(//(//)-/)-/)-.*+.*+0,+0,+/.*/.*/.*0/*/0*/0*/////////0./0/-1-,1-*2-)4/+70*90+:1*<1+=3*>4+?5,?6-?6-@7.@70?6/>5.=4->3/=2.<1-;0.;0.;0.;0.<1/=20C2*E0+H/+L,-N+/M*.J*/E+.A-,@.*@/(C/(M/'Y0*d1-j30i;+o;-w;0=4‰<4Ž;5Ž94:4‹;2‡=2†>2…@1†A2‰A3ŒB5C6‘=2=1Œ>1Š>0†>/…=.…=.†=.ˆ<.‰;.ˆ:-‡9,„;,€;+~=+z=*}=3z<1v:/u;-x@1x@1v<.v;-?3„B6ŠF=‹H?ŠJA‡KA‡NC†PDDHQQšc^’ug‰„n‘t~}€¥ƒ„©‡ˆª‰©Œ“§Œ‘£‰‹ƒ„˜€”{a›k[•eXaV‰`W…`W]QtVMiPC[E=RA6F9/<2*5-&1+%.)$-(1&*1&*1&*1&*1&*1(-2).1+//*0-+0,+0+,0),1(-1&.1&.14.24.0.*'**"66*PUAmv[~‰i€k~“h™jƒŸn€ n~ m€¥q‡¬xŽ®|‹zˆªw„©v§t€¦u¦w€¥y¤y€¢}}›yw’sp‡mh{eYkUL[HEG:=?28:-23-23-34.34.34.45/54/54/650961961:72:72:51940940:2/91.91.80-7/-4/,4/,3/.3/.3/01/01/00.1..0--/,,.2).2).2).0*.0*,0*,0*,/+*1-,1-*0/+0/+10+10+10+10+11111100010.10.2.+2.+3.*91.92,;2+<3,>4+@6-@6-A7.A8/A8/B90A8/A81@70>5.?4.=2.=2.<1-;0.;0.<1/=20=20?5,E2.O-.W(0]#/\"0W#/L'.C/.:3-55);5)E1(U.'c+*l*+e;/j;1s=3}<6…;8‰;9Š;7ˆ:6‰>9†?9…B9ƒC9…B9†B9‡A9‰@7†B/†B/‡@.‡@.‡>-ˆ<,‰:+‹9+‹8*‹8*ˆ9*…9)€<)z=(w?(t@(ƒ=3{7,x8,z</v;-w=/{A5{?4€B7„D:‡G=‰I@ˆI@ˆLB‰NF‹PH“OL”YS’f[sb„€g}Œmz˜v{¡|©ƒ«‡†«‰‰«Š‹¦‡Šžƒ†˜~„”zm˜mi”iegdefŒgc†e]~_Zw[PhPI_J@Q?8D60:/-5**/(),%7$(7$(5%(4%(1&*1(+/+,.,-*+-(,-'--%-/%-/$./$./$./1(+1+-0+(.+$88,PUAiqYvƒe{Œhyf{–iœn}Ÿmyžkz m¥r‚§s€¥q}¤o}£p}¥s~¦t~¥v}¤w|¡x}Ÿzz™wuqn‡jg{bWkRK]GGE9?=1:8,45/45/45/560560560761761872:72;83<94<94=84<73<73<41<41;30;3083072/61.61.5106216213122011/00.//-.4+.4+.4+.4+.2,.2,,2,,2,,3/,3/,3/,10,21,21,32-32-22222032032032.51.61-61-;4.<5-=4-@6-A7.B8/E8/E8/C:1C:1E;2D:1C90B71@5/@5/>3/>3/=2.=2.=20=20>31>31>7/C41O/2Y*2_%3`#2Y%1N+1B3077-39+68*?5)N1)]-)e+)c;3h<3r=7z=:‚<<†<=‡;;…;:‚;9>8€A:C;‚C<ƒB<…@9„?8E/D/C.ƒ@-†=,‰<,‹9+Œ9+Œ6)Š7)†9)‚;)~=)w?(sA(qB(…6/|/'8/ƒ?4w5)s5*}A6}C7E9G<ƒI>„J?…K@‡LDŠOGŒSJycL~hSoYu]}bˆi„•u‚ |¥~|©€~¬…†€ª„¥€|ž}{˜yn}ŽlyŒlwŒkwŒmt‰joƒgl~dbqZ[hTSZHIK=B@4=6,8/&5+":&(8%'6&'2&&0(&-)(++)).*'+*&,*&,*'+*'+,)*,**,**,-#$2*(50,85,BC5UZFfpWn}^tˆcqŠbt‘ex˜iw›ks™hs›iwŸmz¢mx lwŸkv¡ly£q{¥u{¥w|£wxžuzœww–tqŽom†hd{_WkPJ^CFB9>:195,560560671671782782872872983<94=:5>;6>;6?:6>95>95?74?74>63=52;62:5294194184184195484373243132021/6-.6-.6-.6-.6-.4..4/,4/,40-40-40-52-32-32-43.43.431431542540841850940:5/=60?6/@7.B8/C9/F90G:1H;2F<3F<3F<3F<3E;2C90B71A60@5/@51>50=4/=4/>42?53?53=82A64I35Q16V.6U-5R/5J22A62::08<.9;-?9)H6*P4)U3)]2+c4.k62t76}77‚89ƒ7978}75{:6|=8{?7@9ƒ@:…@;†?;|E0}D0€C0‚A/…=.‡;-‰:-ˆ9,‡8+…9+‚:+<+{>+x?+uA+tB+‹2,‹2,¡LE§XQŠA8|90‚F;€J>yH:zJ<{M@|NA~NB‚PE‡UJYN_uNgwRtzX€{^Š|b“i›s›—|™zˆ |ƒ¨¬ƒ|¬‚x¨~t£yq vŠpˆo†nƒŽp€p}px‹ms‡kk~bgu\_iQWZGPM<H@3B6*>0%:,+7,*5+)1,(-,'+.').((/().(+-*,,*/+*3)*6',7&,9&,2)$<3,E>4JF:QR@]bLgqVizXmƒ]j…\j‰]p‘bq•eo•do—eršhu krhq›itžlx¢rz¤vy¢vyŸvvštw™tu”rokj…fc|^UlOJ^BHA9@91;4,671782782782893893983:94:94=:5>;6?<7?<7@;7@;7@;7B:7B:7A96@85=84=84<73<73<74<74<74;74:6395284173080.80.80.80.80.80.61.61.61-52-52-52-63.63.54/54/540540651952:72=84=82@93?80A8/C90D:0E;1H;2I=1I=1H>4H>4H>4G=4F<3D:1B8/A60B71@70@72?61?61@72@72A83=84@85B86D97E:8G96G96E:4C90B90B:/B:-D;,F:*H;*H;*].&b0)n3/x73ƒ98‰;;Š<<‰>;‹A>†A<?6}=4~;3‚;5ˆ=8Œ>:~C3€B3€A2ƒ?2ƒ=1„<0ƒ;/;/;.|=.{=.|>/|>/|>/}>/}>/—.*£;8ÎkfÙ~yZTŒC<ˆLAN@tJ:qM=pQ?qR@tSB{VD‚[J‰_OUOe€Uz~[‘y_¥ra³of»rk»xo¶…vªz ›~•£€Œ¦ƒ¦~}¢yyŸvŒr‹rˆ‘r„“r€•t|–sv”ps’pl‹ig„eby\\lQU_GMP;ED0A<)>3-<3,92*41(01).1(+1'+0)/0*2/*6,*:*+@'+D%+G$+H#+A7+LC4WP@[XE`bLgmQiwVj{Wl‚[g‚Wf†WjŽ^n”an”an–bršfržko›hnšiqœnw¡sy¢vxžuu›ts—su—ts’pn‹li„cb{[TmMH`@MD=E<5@707827828938938939:4:94:94;:5>;6?<7@=8@=8A<8A<8A<8A<8A<8A<8@;7?:6>95>95=84>95>95>95>95=84<73:51940:0.:0.:0.91.91.91.91.72.61-61-63.63.63.74/74/74/540651961;83<94?:4@;5B;3A8/B90C9/E;1H<0I=1J>2K=2K>5K>5J=4J=4F<3E;2C90B8/B92B92A81@72@72@93A:4A:4?74>95=<7>?7?@8@@6D@5J=4J70N5.Q6-Q6+O8*M:+I<)H=)l3(r6,~;3‰@:•DA›HDŸJGŸLH QJ—MDD;„;2‚8-…7-Œ91;4…?7…?7†=6…<5ƒ=5€=4|>3y?3vA3uA3uA3y?3}=3ƒ:3‡83Š73Ÿ%$´<;í{zþ•’Åhc–G@‰K@wI:mN<gR=dU>fW@jX@r\E}aL„eQj{O{{U™w\´l`Ì^_ÚR\áM[àO^êmuÜxxÎ…~¿€²–€§—}ž•x˜“u•Žr”r‘‘u”u‡–u—s{–sx–rq‘lp‹hiadtW]gLVX@LJ3GB.L40H3.D3,?2*:1(70&40'40'81):/+?-+C++H(+M%-O$-Q#-PE1[P:d^FgfJilOnuTm{Wl~Vk„Zg„Vg‡Vm]p•ap—br™dvhrœlo™km—ip™mwtyŸxw›wt–us•tu”tsqoŠki„cb{[TmMGa>SJCKB;F=69:49:49:49:49:4:;5=<7=<7=<7?<7@=8@=8A>9C>:D?;D?;E@<E@<E@<D?;D?9C>8C>8D=7B;5B;5B;5B;5B;5B;5A:4A:4A83A83A83@72@72>71>71>71<71<71;60:5/85085074/74/761961961:72<71=82A:2B;1C:1E;1F<2J>2K?3L@2N@3N@3M@7M@7L?6K>5I<3F<2E;2E;2B90A81A81?80?80?82@93@93<5/LE?IB:E<5OB:K:2J3+\>6Z5-`5.`4+^/'\0%b8,g@1gB2‹I;G;–I?žLAŸF>›>7š=6žD;¥ND£QE¨VH«YK£PBš@5˜:0ž=4’9;9:Œ67†54„96ƒ@:{@8o?3oC6lB4m?2u:274Œ35’-3–(1ÏEEèbaÅEDÍWUáyv«VO†F<‚WGlS=f\CedFgfHgbEm_DyeL†nVŽdKp]ÍphÞW]å8Kð(Dü&Hþ+Lþ<WðG\éXeånrà|zÙ}ֆ؉‚¸„wµ…w³ˆx®‹x¨x£ŽyŸy›‘xŽ‡mŽƒm~i‰taƒgY{YMtLBpE<r;>d02b22\31L)'D'#I2,J70F5.E2,E0+H0.I-,I)*O+-V24VK/`W:f_BgdEkoLu}Xu„]oWj„WlˆXnŽ]q“`s•bu˜bušdv›eq–ks˜ms˜oq•os•rw™xz™zy–zx•yqŽrm‡jj„ghƒdazZTnKIc@TKBSJAPG>9:49:49:49:4:;5;<6>=8?>9>=8@=8A>9A>9B?:D?;D?;D?;FA;E@:E@:E@:D?9D?9E>8E>8E>8E>6E>6D=5C<4D;4D;4C:3B92B92B92B92A81A81@91@93>71<71;60;60:5/85.74-74-96196/96/;60<8/>:1A:0C:1C;0E;1G=1J>0L@2M?2NA1NA1N@5N@5M?6J=4I<3H;2E;1E;2C:1B90A81@91@91@91?;2?;2C:3G81I0,V..j68u99{;;†ECƒD?„H@…I?†G>ŽJA›NH£PL¥MK’E3”C2šB4 B6 >36-7+¡<0£C5›@.™@. E3¦F6©E5¯H9¸N@´KR¯GN¥@F™9=‘8:Š?<€A:r@5k?2uK=€NC@:‚,-“(0µ8FÒK\àJIáMMÌ>=Ã>?Ò_\µXQ„@5€UDvbJa]@Z_?ekIonOshJ{fK†kPÌ]VÚ][êSZó<Nü'EÿDÿHÿ!Kÿ(Nÿ.Nù9RöF[òM^ëO]êO]ëS`ÝakÛclÚgnØkpÓnrÑstÎvuËwwÌ{zÌwzËuxËotÊirËcnÊ^kÊ\iÆ`n´Ra¦JWšGQDK„FIk79FS2-L0,F2+I6/J91I;2M>7SD=]P.dY9ga?ifCnrMz‚[z‰bt†^r‰]oŠ]oŒ^qŽ^u’bw•cw•cw•cr’mw—rz˜vy–w~˜}ƒ„…‡ƒ›…™ƒz’|q‰ql„jhc`yYTnKJdAWQEVPDUOC8938938939:4;<6<=7?>9@?:@?:B?:C@;C@;C@;D?;D?;D?;FA;FA;FA;E@:E@:G@:G@8F?7IB:HA9H?8G>5F=4E<3E<3D;2D:1D:1D:1C:1D;2D;4D;4C<4?80?80<71;60:5/:5/94.94.96/96/96/;7.<8/@9/A:0C;0E;1F<0I=/K?1M@0M@0NA1M@0N@5M?4L>3K=2I<3H;2E;1D:0C:1C:1A:0A:2?;2@<3@<3A=4SE<P40g35AG°JWÇS`Ï[fÇ^c›B>–I?•MA›OB¬RJÃSRÏNSÒENœE2B0 @0¥?1¦:-¥7*¦8+§=/¬E4¡>+˜7$:%¥>+®@/³B2¹C5§/8±9B¹DL¾KR¸NRªLL“B>}:1u;/q9,s5*2-›47º<GØEWéLaåFCÒ41Ò:9À21ÉMKÈb]”J?‹\JzdLebCbfEpqOysS~iL‹iNœrZûW`úNZû@Qþ3Iÿ-Hÿ-Nÿ*Mÿ&Hÿ-Mÿ,Ký.Jü2Lù1Kù.Kû.Lþ1Oø=Z÷?[öB]ôFaòJcñMfïQhíSkêPhéOiéLgêKiîKjôLoùOsüQuþh…ô_|æZtÖUkÎYlÊdr¨R[r-0]''X1,T<2N@5?<-7:)<C1GP=[N,aW4e_=heBstR†d~ŒhwˆdxŒgsŒer‹cr‹ctcwfz‘gz‘e~•x„›ˆŸ… Š‘¤—¨–˜©™–§—‘¢’‡˜†zyn„mg~b^wYTmMKfCXUFXUFYVG7827828939:4;<6=>8@?:A@;BA<DA<DA<DA<DA<E@<E@<E@<GB<GB<GB<FA;FA;HA9HA9HA9LC:KB9JA8I@7H>4G=3F<2E;1D:0D:0E;1E;1D;2E<3E<3E<3@91?80?80<71;60:5/:5/:5/96/96-;7.;7.=9.@9/C;0D<1F<0F=.J>0L?/M@0M@0O?/O?/O>4O>4N=3K=2J<1G:1G:1D:0D;2D;2B;1B;1@<3A=4A>5A>5Q9/X+&‰:?ÅP`ãOeñOfíPcÐGO¢20”:/Ž?.–C3®F=ËFGÞ>Hã2B§H6§F5©B3®@3°?1²>1³B4´D6²G5«B/£<)¤;&©<(:(¯5&®3$¸7<»8>½7>½6=¿<BÅJMÄTS»ZT—@7ˆ6+….%œ62ÃHKÞNXå@Qà0Eß:4Ð-(Õ74Ê64ÈD@É\U©WKXFtX@rgIysS|qQhJdK©oYÂ~kÿGVÿAPú9Jû8Iÿ=Nÿ@Qþ:Nö5Hÿ@Sû:Mú4Ký3Kÿ0Jÿ-Iÿ-Lÿ1Sÿ1Tÿ1Tÿ3Wÿ3Wÿ6Zÿ9\ý;^ü<aþ@fü=fû<eû<gý<iÿ?mÿBpÿEsÿLuÿNuÿRvøPqëRnè`xÙdv·Wb|15h0/U3*L:,BA/:C.5G/5L2VH+_T6i`CokN||`ˆŽr‡‘v}‹qzq|s|szozŠm}Œmƒ’s‰–x•£Œœ©•£®¦±¡ª´©±¸°°·°´¡«¢” ”ƒ‘‚s„qh|c]tWSlLLgDVWEWXFYZH671671782893:;5<=7?>9@?:BA<DA<DA<DA<DA<FA=FA=FA=FC<GB<GB<HC=HC=JC;JC;JC9LC:KB9KA7J@6H>4G=1H<0G;/E;/E;/E;/E;1E;1D<1D;2D;2@9/@91@91?82<71;60;60:5/;7.;7.;7.<8-?8.A;/C;0D</G=1I=/K?/M@0M@/P@0O?/O?/O>4N=3N=3J<1I;0G;/F90D:0D<1D;2B;1@<1A=2A>5B?6C@7_4-t42¯KSâYiðH_ð:Qá2C½#+¬/)š9(;&•=)¬@3ÈA=Ý:?ä0;¨D4¨B3«?2®>2´?5¹C7½G;»J<¬>/ª?-¨=+¨:)ª9'²:*¹;-¼</ËEBÏCBÒ=?Ñ6:Ö7<àAFâLNÜRPÁD>ÃLDËTLÑTNÙKJÝ>Cã3>è.<Ù5+Û7.Ò0+Ò94Á82µ@9µ[P”UDxO9~dI„lPbF]F®eTÍqdÛsjü<Iô9Dì8Aç<DæCHäHKäJLåIMðLSïDMð:Iö5Hû1Gÿ-Fÿ0Jÿ5Pÿ7Vÿ7Xÿ7Xÿ8Zÿ:[ÿ<_ÿ>bÿ?eÿAiÿBkÿBmÿAmÿ@oÿ@oÿ@qÿAqÿBnÿ=hÿEmÿJpöGhíMièZrÛbs½YcŒ@D]($M-"PC2PR=CO76H.WH1eYCujT€{gŽy˜œ‹”Œ‡”ƒ~‰—ˆŽœŒ™ˆ‡’‚Š“‚—žŽ¤¨—²¶§¸¼®¿Á¶ÀÁ¹ÂþÅÅÃÃÃþ¾¾²´³¢©¢—Žy‡vh{e\sWTmONiHTYBUZCW\E560560671782893:;5=<7>=8@?:B?:C@;DA<EB=FA=GB>GB>GD=GD=HC=ID>IE<KD<KD<MD;LC:KC8LB8KA5L@4K?3J>0I=/G>/G>/F<0F<0E;/E;1D<1C:1B90A:2@91@91?82<71;60;60;7.;7.;7,<8-?8.A;/D</F<0H?0J>0K?/M@0NA0P@0O?/O@-P>2N>1M<2L;1I;0H:/F90C9/C;0B<0B;1@<1A=2A?3B@4C@7t50–FEÆY_ßUbã@Qä5FÚ0;À*+¯1%Ÿ9#•;!”: ¡=&·=.Æ90Ê2- :,¢:-¥9-¨6,°91¸A9»E;·E:?2«@0§<,¤6'ª6)·=0ÄD9ÊG=¾9*Î@4áD=ïA@ö<?ø7<ï05á-.Þ63âH@èTJåNEÜ=7Ü0.å.0ñ27Ö3$Þ</Í,"Ñ7/Á2,±6/Ég\¶m^ŒXC„\CW?‰R=©\LÑjaãfbáUTúAIñ>Dâ<@×?>ÎC>ÍJB×RMåZWéPRìELï;Gõ6F÷2Dø/Bû1Gÿ6Lø:Tø:Tø:Tû:Wþ=\ÿ?aÿBeÿDiû<eû>hú?júAm÷@nõ?oò>mï=mÿFnÿ:aÿ>dÿInÿJløMmòSoæXnëp‚Å_j˜ILt:6\6-O9+OD2SN:`PArdWˆ|p”Ž‚Ÿœ“¦§¡¡¦ ”˜”Ÿ›¨¤¦¯¬¦¬ª¤¦¥§§¥µ´°ÄÀ½ÍÉÀÒÍÇÕÐÌ×ÏÍÖÍÐ×ÎÓÑÊÑËÆÌ¿½À°²±˜Ÿ˜€Œ€m~k^u[VoQSlNU_DV`EWaF560560560560671893:94;:5=<7@=8A>9C@;DA<GB>HC?HC?GD=HE>ID>ID>JF=LE=MF<NE<ME:MC9MC7OC7NB6MA3MA3N@3JA2JA2I@1H>2G=1F<0D<1D<1C:1B;1A:2@91?82?82<71<71<8/<8-<8->7-@:.B:/D</F<0H?0K?/M@0NA0NA0P@0O@-O@-O=1O=1M=0L;1I;0G9.E9-C9/B:/A;/A:0?;0?=1@>2B@4@@4+)¨JKÁSV¾=BÀ/6Ç.3Ä./»0)ª1 £9!›=!–=˜= ¡=#¥;#¦6"6- 8/¢5.¦3,®71·@:¹B<²@6±B7A5¨</¦8+¯:0½B:ÄC=Ä@;Â@(Í?+Ù5)ä)$ñ #ÿ")ÿ'/ÿ-2ò((é.)ã2*ß4*à4*ä1*é0+î.+Õ6#×5&Ò2$Ð6,Æ6.½>7È`UÑq¤eSŽWC‡N:¡XGÊe[ãa_ëPTëBIùDKí@DÞ@?ÑB<ÅB8ÁB9ÌIAßPLìKPô@Kù9Hý7Hþ5Hø3Eö7G÷=K÷9R÷9Rø7Rú7Uý7Xÿ9]ÿ<aÿ=gÿ@kÿ@nÿBqÿDtÿCuûCuùCv÷BuÿFgúAaþEeÿJlÿJkÿUtÿ^zö\vôi~éo~Önw¯]a„CAh6/hB7vTHwf_Œ}v£–¬¤¡²®¶¶¸²µºª¯µ°·¿¶½Å½ÁÊÂÂÌÃÂÊËÅÏÕÎÖßÕÞäÙÕèÝÛéÝÝæÚÞåØßä×àáÔÞÙÏØËÄË»¹¼¤¦£ˆ’‡t‚qexb[tWXqS\iK\iK[hJ560560560560560671872983<;6?<7@=8B?:DA<GB>HC?ID@HE>HE>ID>JE?JF=MF>MF<OF=NF;OE;ND8PD8PD6PD6QC6QC6OC5MD5KB3JA2H>2G=1E=2D<1C:1C:1A:2A:2@93?82<71<71<8-<8-<8-?8.@:.B:/D</F<0I@1K?/M@0NA0P@0PA.O@-O@-O=1O=1M=0L;1H:/G9.E9-C9/A9.@:.@9/?;0?=1@>2??3@@4”67Á]_ÈZ[¯78®,,µ/,±,#°0#¯8$®B(©G* G'šF$šF$–C!”? Ÿ81£;2¦92¨50°:6¹B>¹D=±>7«<3¨<2¦</«<1¸F<ÆKDÄE>»72»:Ê<$á:*ñ.(ÿ$&ÿ'ÿ'ÿ%ÿ%(ù,)ñ2*ë5*è3(è2'ê/&ì-%Ü=(Ñ2Þ>0Ñ5)Ê7/Â?7¯C9Çqd²m]–YF™VE¿i\ÝlfãSSë@Hù?Lï<Bä:=×<:Í@9Á>4¹6,½4.Î44ïBHø8Gÿ2Fÿ3Hÿ5Iú7Gö<JöBNÿ>Yÿ=Xÿ:Wÿ6Wÿ5Yÿ5\ÿ6_ÿ7eÿ;kÿ:mÿ;oÿ<rÿ<rþ=tû>tû>vôEbýNkÿTqúIfð?\ÿRqÿfƒÿf€ô^wêbváky×s{Ärvªfe”ZV‰TN’€~¨™–¾°°Ä»¼ÆÁÅÈÇÍÅÈÑÀÄÏÆÌØÈËÚËÍÜÓÐáÚÖåäÜëêßïîáòòäãõççöçêóâèñàêïßêìÜéå×äÓÉÒþĪ¬©—y‡vi|f`w[\uWbqRapQ`oP201312423653875984984983;:5<<4==5??5AA7CC9EE9EE9HH@HH>HH<HI9KJ6LK6MM5MM5LK7IG8EE;HGELIPKIWFCVA=TQF4NC1JA0KB1MD5LB6F>3B90E<5C:5@85?74@86?67>56:44F85E76B87@78>:;<:=<<>==????A@<DA:HB6JA2M@-P?+O?(CB0F?/K:2O62Q35Q28N5;F:<??=-=3)A1.J4/G-,?#5B&GP3Ô`S»J<§7)¢7'£:'ž9%ž;&£@)Ÿ;$£='¬?+¯?+²:)±6&³4%´2$Ÿ8'Ÿ8'Ÿ:(£>,§B0©D2©D0©B/¨?,«>*<*µ=-¾C4ÅF7À>0·3&Í6+Ì8,Ì:-Ì=/Ï=.Ô</Ý90æ5/ï/,õ--ø.,ó0,ë4,à9)Ø=)Ó>(Þ9%Ô4Ï4 Î9%Å8&¾6&Æ@4ÕQEÒIAÜMIïUUüVXýJPø9Aü4?ÿ9DäCHßCFÓAAÆ?;¹=3®=/ª?/ª@0¿Q@ÉQCÑLCØC=å??÷@Eÿ>Gÿ8CúGMúENûEQþESüARú=Sü>XÿCbÿGiÿBhù<fô;gô=køDsûIyýK}ÿMyýNwóRtçTqÝQkáQlø[xÿdˆÿY…ÿ?lÿMxöX{ÍYp¿yƒca„}sª½§™ÑŹÚ×ÎÛÝÚÙÜáÞÜéåÙíëÔîôÓðùÔóýÙóüßóøæòõìñóïðøõðøõð÷òïôîîðêêíäçèßäæÝâÖÐÔÍÉÊ»¹º¤¤¢Š|zt|qpzo~…sy€nv}k0./1/0320542653762873872:94;;3==5??5AA7CC9DD8EE9HH@HH>HH<JH9KJ6LK6MM5NM8KJ6KI<KJEQORWU`ZWhVTjQNiSI@ND;H?6F=6G>7H?8F=6C:5C<6A:4?74?74@85>95=84;63>3/=4/>42<74=98<;9=<:>=;@?;C@9G@6J@4L@0O@-P?+P>(=B,?A,E=0H92K63J46F35A57>=;8=69?5?A4C=-J9)^B4sRC¼K=¬;- 2#¡6&£:'8$ž9%£?(¡;%¦=(@,³@-¶=,·9*¸6(¹5(¦;+¤:*£9)¥;+¦?.©B/«B/«@.?.«:(±<+¿E6ÆH9Á?1¼8+½7+Ï5+Ï7,Î:.Ï;/Ó=/×;/ß8/ç4/ð0-õ--÷-+ò/+ê4)ß8(Ö;'Ï=&á:'Ù7"×8%Ô=*Ì;*Á5&Ã;/ÍG<ÐG?ÙJFèPOóPQôGKò;@÷:Aÿ?GàDGÜDCÓB?Å>8·;1¬;-ª<-©>.µF5ÅM?ÓNEÜGCã?@ñ>Bý>Fÿ>H÷DJ÷CLúDPÿFTýBSú=Sü>XÿBaÿFhÿCiü?iù@lùBpûGvüJzþL|ÿIxÿHtõKpðRsò]zö`{ùXwýMqÿCkÿAlóCjÝJgÉ^p®pugNI†‚v´”‡Ì²¥äÔÇëäÜèéäéêîéçòíáõöâûýàüÿâýÿçþÿìÿÿòþÿ÷üþúûþûöýúõü÷ôúôôøïðôëîñèëïæëäÞâÜÖØÊÆŲ²°ž ›Ž“Œˆ…ˆ…–†‰€†}/.,0/-10.21/43/540762761:94::2<<4>>4@@6BB8CC9DD8IF=IG;JH;KJ8MJ7NL7NL7OL9KI:NKBTSQ_^dihxmm…lkŠihˆcYd[QZQGPJ@IH>FG>CC=A@:<A;;?:7<73<73=82>:1>:1=90:3-94.;60=82=:3>;4?<5?<3C?4F@4I?3L@2O?0P?-Q>-P>*3@&7?'<=+A;-B8/A62>42;31=85B:7H94O2.[+)o-.Š:= EJª9+¢2$Ÿ1"¤9'¥<)ž7$8$¢<&¤;&¨=)±A-¶A/¹>.»<-¾:-À:.®>0¬<.©9+¨:+ª<+¬>->-¬=,²?-®9(¸>/ÊL=ÊH:¼6*º2&Å;0Ó5*Ô6+Ò8,Ô:.×;/Û9.â7/é2,ñ/-õ.+õ.+ñ0)ç2'Ý6&Ó8$Ì:#à7$Ü5#Û8'Û>-Ó=.Æ7)Å8.ËA7Ç<5Ì?8ÙEAåKIìIJëCCí?Að@CÜDC×C?ÏB;Â=4¶:.9*ª;*«<+ª9)¿E8ÔNEÝIEâ?@ë<AùAIÿFPôAGô@IùCOýGTþEUû@Uü>Xÿ@_ÿDfÿCiþDmÿFpÿIwÿK{ÿL|ýK{ÿCvÿGwÿJtúNtþZ|ÿa€ýUvòCdüHkÿRvÞ=\ÎH`Úz†µ}~\F;„r³‹Õ³§óÛÑúíåøóðøøú÷ôýôëüüêÿÿéÿÿëÿÿíÿÿòÿÿ÷ÿÿûÿÿýþÿþúÿýùÿûøÿøöþõöýòöûðôúïóðçêåßáÓÏξ½¹®¨¢¥œ£™£—¤ªœŸ¥—œ¢”/.,/.,0/-10,21-32.54/650872991;;3==3??5AA7BB8CC9IE<JF;KG;OI9PK8QL8QL8OL;LJ=SPK^]bmlzzz’£€‚©~«|u–rkŒe^}YSoRMdMEZG@PB<HD?F@;?<87;62;7.<8-=9-<8,880991;;1><0?=1@<0?<-A;+F?/H?.K?/M@/O?/P?/Q>/P=.<@)=?*?>,?<-?;0=:3;:5:94<94D95N43[*-o&--8¨3C¶7H§7)¥7&§9(ª?-¨?, 9&Ÿ9#¤;&¥:&«<)³>,¹@/½>/Â<0Å=/Ç=0¹@5¶=2²:,®8*¯9+°:,²:,²:*¶;,¹;-ÄB4ËE9Ç?3¾1'À2(Ê:1Ú3+Ø4*Ù7,Ú8-Ü8.ß7,æ3,ì1,ó0,õ.+õ.)ï0(æ1&Ú4$Ñ6 Ê8Ü/Ú0Ú4$Ý;,Ø</Ð9.Ï<2ÒC;Ã6/Ä70Ê;5ÖE@âMIåLGÞC?Ù;8ÑA9Ï@8Ç>4¾</µ:+°8*®:+°<-¬4&½?3ÏHBÙHEßABæ@DôELÿLUð?Eð?GöBKþHUþHWüBWû?Wý@\ÿBbÿCfÿFmÿIsÿMyÿO|ÿL{þJyÿ@tÿL~ÿQ}ÿJrúLoÿUwÿUuùLjòEcïKfÒ>Vßetû §Í‘]=2aP@©wlÑ¥œöÔËþêãÿôòÿþÿÿüÿùóÿüïÿÿïÿÿðÿÿòÿÿôÿÿ÷þÿûýÿüûÿýùÿüøÿúøÿù÷ÿö÷ÿôøÿôøþó÷öëïìãäÚÔÔÉź¹´³´¬±´©²µª¶¾³°¸¬´©10,10,0/+0/+10,21,43.54/77/880991;;1==3??5AA7BB8KD:LF:OG:QJ:RK9SL9RM:QK=OKBVTUfdowx††¨»“ÃŽ‘ÆŠÀ‡‚¸{w©rlœid_[~UPnNJaJGXEBM?=B;7696196-86*86)581692891;;/><-?<+C<)D<'I>*J?+L?,M@/M@0M?2M?4L>3M?4K?3F<2B90=909:25<44>57<5>:1H3.\0/{48œ;D¯9E²2Aª<+ª<+«@.¬A/©@-¥<'¥<'©>*§8%:'µ<+¼=.Á;/Å;.Ê<0Ì<1ÁA6¾>3º:/·7,·7,¸8+¸8+º8+»7+ÇA5ÍC8Å8.Á1&Æ3)Ë7-Í6-à2+ß3)á5+â6,ã5,ç4-ê2*ð/*ö/,ø.*ô/)ì0'ã1#Ù4!Î6É7Ú/Ù/Ù2"Ù5)Ù9-Ô:0Ö?6ØE=ÕF>Í@9Ç<5Ë@9ÖKDÙNGÐF<Å;1Å=1Ä<0À</º;,·9*´:+µ=-¹?2µ9-½=4É@:ÒC?ÛBDãDHîIOöOVí>Cí>EóBJûJTÿJYýFXúCYýB]ù@_ûBdþFjÿJsÿOxÿOzÿLyýIxÿGwÿRÿQ}ÿIqûImÿStÿVtøNiëD^äF]èYkÿ—¢ÿ¶¼î žˆKFd2)©jcÍ–ôÇÁÿãÞÿòðÿüýÿýÿú÷ÿý÷ÿÿöÿÿöÿÿøÿÿùÿÿüÿÿýýÿýúÿüøÿûøÿúøÿø÷ÿ÷øÿõ÷ÿôøÿôøýñóóéêäÜÚÖÑÍÍÊÃÉÉ¿É˾ËÍÀÇÑȾȿ·Á¸84163.52-30+30+41,52-63,85.96/:70<90>;2@=4B?6B?6KC8ME:PF:SJ9TK:UL;SL<RL@QLHZW^kj|~Œº–™Î˜žÚ™žÞ™˜Þ“’Ö‹ŠÌ†„Ã~·xv¨ml–fe‡]ZwVTiMKXDAH><=;:6;8396/267465672880<:-A<)D>(G?(I?&J?)IA,JA0IA4IA6HA9G@:R9<N8;I68A57:65384.93+;12?517+=3'X:0{D=•GCž>?ž46§<*¨=+ª?-ª?-©>,©>*¬?+¯@-«8%²9(¹:+¿:+Ã9,É9.Î:0Ò;2É>7Æ;4Ã81Â8.Â8.Ã9/Â8.Ã6,Ä7-ÑC9Ò?5Ä0&Ã,#Ð7/Ö<4Î4,æ1*æ1*ç2)è3*ê3+í2+ð/*ó.(ø.*÷-)ò/)ì2&ã3$Ø5"Ï7 Ì7Ü5#Ù3#Ø2$Ö2&Õ5)Õ7,Õ;3Ö?8ìYRáRJÓHAÊD;ÉF<ÊJ?ÅG;½?3¼;(¼;(º;*¹:)·:(¸:+¼>0¿A3ÁA6Á<5Å<6ÏA?×EEÝGIãJMèMQëADì?EðCIúJTþN[üJZüF\üF]øA]ùBaýEiÿJpÿNwÿOzÿMxÿKxÿR{ÿR{þOvýOtÿVwÿ]{ÿSoîD^øUjîQd÷dtÿ’žÿ‹“òƒ‰Ç`cKL²keÏŽˆñ¼¶ÿÞÙÿðìÿúúÿüþýûÿüûÿþûÿÿûÿÿûÿÿüÿÿûýÿûûÿûøÿûøÿüùÿûùÿûúÿøúÿöøÿòõÿðóûìïòææçÝÛßØÒÛ×ÎÝÛÏàÞÑàáÓÚãÞÏØÓÅÎÉ<94;8385052-41*41*52+63,74-85.96/;8/=:1?<3A>5B?6KA7MC7RF8UI9WK;WK;UL=SJASJK[Xcnl‚‚‚¨‘”Çš Þž§ì¡©ò¡¤óž 홛敘ߔ•Ö̈‰¿‚ƒ±zz rq‘fd|XWiPN\IGRFCJDBG=?K==G;:?;:8<92A;-D=*F@*F@(GA)GB.ED2CC7BC=AC@>BAG9HH<JG?LGDODGN@JL;II:ID?KA<@2F=.bH9QB‰K<Œ@2Ž;-¨=+©>,©>,ª?+@,¯@-°?-°=*±8'¶8)½9*Ã9,È8-Ì8.Ò91Õ;3Î;4Í:3Ë81Ë81Ì92Í:2Ì70Ë6/Ó<3Õ>5Ò91Ì2*Ð3*Ù;2Ú<3Ó5,è0(é1)ì1*î1+ñ0+ò/)ô-(ö,(÷-)õ.)ñ0)ê2(â5%Ù6#Ò7!Í8 Õ8%Õ8%Õ5%Ñ4%Ò4(Ô6+Ô7.Ð7/ãNGèXPçZQØRIËH>ÃE9¼B5·?1¹<&¹<&¹<(¸;'¸9(º;*À>0Ä@4ÉD;Æ?9É@:ÑFCÕIHÖHG×IHÛJMìCFêADíDIöKSüQZýN]ûL]üJ`öD^÷DaùFfýIlÿNuÿOxÿOxÿNyðYzðWvóVuüYxÿ]{ÿZuûQkòI`ýWköUgêN\ö^kâKZçSaçSaåQ_¸jfÉ‚~窧ÿÓÑÿëèÿôòÿøùÿÿÿùýÿùüÿûüÿüüþüúûýùøüøõü÷ôÿú÷ÿûøÿüúÿûúÿøøÿòõýîñúëîðââëÝÝäÙÕâÙÒæßÕëçÛñîßóñâêóðÜåâÏØÕ@=6=:3:7074-52+52+52+63,74-74-96/;8/=:1?<3@=4A>5M@7OC7RF8WJ:XK:YL<WK=TICSJM^Xfpmˆ‚„‘–Íœ£ç£¬ù¥°ÿª±ÿ¦«ü¡§õž¤îŸ£ê 㙛ؕ–Î’’ĉˆ´yyŸji‹`]|XUpSOhPLcMJeKG^FBS@=H?;<?:4B<0A>-C@-CB.BC3AE7>E=<EB;EF9DF:D]@JcHTjR]oXdt\fp]dj`ac`[W]LDgI>€UE’YFL7A+“A+«@,®A-®A-®A-°A.²A/²=+°7&µ7(¼8)Â8+È8-Í6-Ñ7/Õ8/Ù;2Ò73Ñ61Ñ61Ò72Ô94Ô94Õ81Ó6/ÞA:Ö8/Ñ3*Ø7/Þ=5Þ=5Û8/Ù6-ë0'ì0'ï0(ò/)õ.)ø-)ø+(ø+(ø-)ô/)ð1)é4)á5'Ù8&Ó8$Ï8#Í8$Î9%Î7$Ï6&Ð7)Ô8,Ó7+Î4*Ì3+ãNGôd\ë`YÔOFÂB9¸<2´:/·?&¸>&·=&¸;%º9&½9*Á;/Ä>3ÌC9ÊA9ÎE?ÕKHÓLIÎGDÌFEÐJIéFGæCDéDHòMSùRZùR\ùN^úOaõG^õGbøGdûIiÿNrÿRvÿRyÿRyå[uë\xõ`}ü_|øUpõMgùPgÿYnÿ[mÿbsóL]úSdøM_ÿRgüI_ýE]³d`¾tqÚš˜ûÈÅÿåãÿîëÿõôÿÿÿûÿÿùÿÿùÿÿúÿÿüþýýüúýùöýøõÿøõÿùöÿúøÿúùÿööþððøêêõåæìÜÝèÚÙæØÕèÞÕðèÝùóåþûêÿþíòûúâëêÔÝÜA>5@=4?<3=:1;8/96-74+63*52)52)63*74-:70=:3@=6B?8J@6OC7RF8VI9WJ9XK;ZL?[NHTIMXR`gd|}©’Ì—Ÿçž©ù¤°ÿª³ÿª³ÿ¬³ÿ«³þª±ùª®õ¨«î§«êŸ¡Ü™šÒÁ±ur¡he’]Z…XR~YP{YQxVOpOG_E?M?:@?;8@@6>>2@B5@F:>E=:C>9CB<GI?MP:YvKh†[udunx‘|zq‚|`n†]eX[œXU¥WM¥M?A,š:"Ÿ;#©<(«>*®?,±@.³@.´?-¶=,¹;,º6'¿5(Ä6*Ë7-Ñ7-Ö8/Ú91Û81×84Ø95Ù:6Ú85Ø61Ø61Û83Ý:3æC<à=6Ú70ã@7þ[Rÿlcÿ]Tã@7é1'î2)ò1*ô/)õ*&÷'%ø(&ú*(ø-)ó0*í2)ã1%Ú0#Ó1"Ò5$Õ:(É=&É=&Ë=)Ï<*Ñ;,Ò9+Ô8,Ó6-Ú@8Ð71ÜGAôc^ãXQÉB<Å@9·3.´<#¶<$¹<&º<&½:(¿:)Ä<.Ç=2È>4ÌC;ÙPJßXTÓOJÁ@;¿@:ÊKEäFEäFEèJKïPTòQWïNVïKVñL\ùRdøOf÷Ke÷JfüMnÿRsÿRvÿPtê[wêZuðZuú[wÿ]xÿZsÿWnÿViÿctþVgÿ\mÿYlõDXùBXÿMeÿIb·nhhcËŽ‹èµ²ùÑÏÿêéýïîúù÷øþüøÿÿøÿÿøÿþúþýþþüÿûøþöôþùõÿû÷ÿùöÿöôÿööÿõõöèèç×ØäÔÔÞÐÍãÖÐñçÝüôçÿøèÿüéÿÿí÷ÿÿèñðØáàC?4B>3A=2?;0=90;7.:6-95,73*73*73*83-:5/=82@;5B=7I?5LB6QE7UH8VI8YI9YK>ZMEUKLXP_ebyz¦‰É”œäš§ö ¯ÿ«´ÿ¬µÿ·ÿ¯·ÿ¯·ÿ¯¶ü¯³ú¯²÷§ªí¢£ä˜˜ØŒŠÉ€~½uq®ie¢b^›cVŽbU‹]TƒWOtNHdFCTBAIAAA;=8@C<DG@BD??A@BCGMNSWW_Vl“gyŸw¥€€¢Ž œ}œ£qŒ¥_w¯XkºTa¾OU¼FD¶=4±9(±:$°<#§8%¨7%©8&:(°8'²9(µ7(¹5&»3%Â4(Ë7-Ó;0Ù<3Þ=5à;5à;5á>9ß<7ß<7â=9æA=èC=éB<èA;ç@:èA9ä@7Ü8/Õ1'Ø6+ëI>þ\Qô?4î6,ê+#î)#ù,)ÿ./þ,-ø((ú0.õ4/ï7/ç6,Ü4)Ö2&Ó3%Ò5&Å='Ç<'É<(Ì;(Í:(Ï7)Ï6(Ð4(Õ8/Ï5-Õ<6åPJçSOÛLHÏA?º/,¹=%º>&»='½<'¾9(À8(Ã9,Ä:/È>4ËB:ÕOFÜWPÒQKÃD=¿B<ÆKDáIFáIFåMLëSRíTVëPVéNVìOZ÷VføUhùSiúRküRmÿSqÿStÿRsïNoøTvÿ\|ÿ^{ÿ[vÿUoýQgûReüUføQbÿZhÿZjôM^úRcÿWiôI\§ha™\W·€{Ù©¥ïÇÅýáÞùêçýøõøýùøÿÿ÷ÿÿöÿýùÿýÿÿýÿûûÿö÷üùòþùõþùõþöóÿ÷õÿõõøêéêÜÛäÖÓÝÐÊáÔÌïåÙüõåÿùçÿýéÿÿì÷ÿýèñîÙâßEA5EA6C?4A=2?;0=9.<8-;7.84+84+73*83-:5/=82?:4A<6G>5JB7ND8RF6TG6WG7YI:YKBWKKXP[b^wsuž…ŠÂ™Þ—¤ó¬ÿª´û¬¶ý®¸ÿ±¹ÿ²ºÿ´»ÿ³ºÿµ¹ÿ¯²ùªô££ë™—àŽŒÕ‚€Éxt¾qm·l`¢i]dY“^V‡VQyNKhEDV@@J76;?=>HBBKABN?BYFJmX_}fnt¤}¬§‚®¬}§´w ¾p—Âc…ÃRpÅE^ÔI\×EPÊ9<¾3,»7(¸;%³; ¯<*¯<*°;)³;*·<,»<-À<-Ä<.Ä6*Ë8.Ô<1Û>5á@8á>7à<3á:2Ü73Ù40Ø3/à93èA;ìE?êA<å<5ã<4Û4,Ø4*Û7-Ô2'Ì, Ö6*èH<÷I>ò@6ï4-ð-)÷+*ý+,ý+,ø*,ñ))ì/+è3,â5.Ü4+Ö2(Ô2'Ô2'Ç:&È;'Ê<(Î;)Ñ;*Ò:,Ô8+Ô8,Ñ4+Ø;4Õ:5Õ<7çONîXYÙEEÅ02¾=(¿<(¿<(¿:'Á9)À8*Á7*Á7,Æ>2ÇA6ÏJAØUKÑRIÄH>¿E:ÃH@ÚIDÙHCÝLGäSPåSSâPQâMQåNWòXdöZhý[pþZrýUoûQlýPnÿRpÿFmÿOvÿZ}ÿ[{ÿVqÿSkÿVkÿ[mûYhúYhü`mö`kî\fñenífmÚT[’cY}ND™lfØ’ß¹¶ñÓÑôàßþöôøú÷÷ÿý÷ÿÿöÿýùÿýÿþÿÿýÿÿ÷ûúúòüùôüùôýøôÿùöÿøöùîìñãâçÙÖÝÐÈÜÒÈîäØýöäÿûèÿýçÿÿè÷ýùêðìÝãßIE9HD8FB6D@4B>2@<1?;0>:/:6-95,95,94.:5/<71>93@;5E>6HA7LD7QE5RE4UF3WG7WI<XMIXNW_Zppp–€†ºŒ•Ö”¢íšªø¨°ø©±ù¬´ü¯·ÿ±¸ÿ²¹ÿ´¸ÿ´¸ÿ®²ü«ø¥§ôŸžì—–䌋قÏ{zÈxl´pf«h_ _Z’YW†QQwGGc@?Q<6DF9BS>C_@EmDJ€OU•]f¦jrÇe˜ÍkœÏl›Ïf‘Í]…ÎTyÌFgË8UÌ0Hß>PäBMÔ:<Æ7/Ã@.ºB*®<!5$5$®5$±6&¶7(¼8)Ã;-È</Ó@6×@5Ú@6Ý?6ß<5Þ:1Ý6.Û4,Ò/(Ò-'Ó.(Ú3-á:4ä;4á81Ý4-Ü5,Ò+"Í)Ù7,âB4Ü?0Ð4%Ê.éF7óI<ýH?ü<9ö,,ó"%÷&)û/2ñ-.ë/-ä2.Þ3,Ù2*×0(Ö/'Ö/)Ð8*Ò9+Ô;-Ö=-Ú>/Û?0Ü@3Ü@3Ò6*èKBåJEÎ50àFFóZ\áHKØ?BÆ=-Ä;+Ã:*Ã:*Ã:*Ã9,Á9+À8,Â<0Â>2ÈF9ÏOBÎPDÄH<¿C7¾D7ÑF?ÑF?ÕJCÛPKÝROÙMLÚKMÜKPëX`ó[hüaqÿauûWoõOgõMgúPkÿJuÿOyÿSwÿRqÿSmþ[pÿcuÿixÿguüaoôbmìelàglÔjjÉjh¼c_dVeH:_Tª‡Í«©åÇÇïÚÙÿóóùøöøþü÷ÿÿ÷ÿÿûÿÿÿþÿÿüÿÿ÷þûüôúûóûúõþûöÿýùÿûøþôòøíéêßÙÞÔËÝÓÇíæÖÿøåÿþèÿÿæÿÿçõúóêïèáæßLI:KH9JG8HD8FB6D@4B>3A=2=9.<8/;7.;60;60<71>93?:4B?8EA8JD8NE4PE1TE0VG4XH9ZMEVMR[Whkl‹~‚²‰“Ð’Ÿå™§ò§÷©¯ù«±û³ý°´þ°´þ°´þ¯³ý«®û¨«ø¥§ô ¢ïšœé“•âŠŒÙ„†Ó…É{u½mkdd _a”X[†QQsNHbUFY_CRlBLEO˜LV¬U]¼[dÅ]fçJuéNxæPuàLn×FcÒ?YÍ5JÊ+?Ú5EçAMéFKÙ><Í>6ÊH8¿J6°B)·>-¸=-º<-½>/Ã?2ÊB4ÐD7ÕE:ÙE9ÚB7Û>5Û:2Ù6-Ù5,Ú3+Ù2*Ô1*×4-Û60Ý90ß80Þ7/Ý6.Ü5,Ö/&Ù5+Ø6)Ï2#Í1"Ò9)Õ>-Ó<+Ö=-æD7÷KAÿD?û56÷)-÷)-ù.2ø67í55â30Ú1,×/,×/,Ù0-Û/-ã80â:1â:1â<0à<0ß=0Ü?0Ú>1Ñ7+ïWLù`XÓ;6Ó;:èOQÞEHèOTÍ=2Ê:/Æ8,Æ8,Æ:-Å;.Ã;-À:.¾:-¾<.ÁB3ÇH9ÇI:ÂD6¾@2¼>0ÊE<ÊE<ÎI@ÕPI×RMÔNKÓKK×LOçZ`ð^hüfrÿhxü]qóOgóMeùQjÿPzÿQxÿQpûSmø\qûhxûjw÷epüfró_kí_kêkrÝsu¿lh¦f\¡l^ujXVI8kXJ–{t¾ŸœßÁÁïÕØþîïûõõúüûúÿÿùÿÿýþÿÿýÿÿûÿÿ÷ÿýÿ÷ûþõûüöÿþùÿÿúÿþúÿûõÿ÷òñèáäÜÑáÙÌðé×ÿúæÿÿæÿÿãÿÿäöùðíðççêáQK=PJ<OI;MG9KE9IC7GA5G@6B;1A:2@91?82?82?82A:4B:7@?:EB;IE9MF6PE1RF0UF1WG7YLCUKLZTbii…|«‰’É“žÞ—¦ë¨«ú©¬û«®ý°ý®±þ®±þ°ý°ý©÷§«õ¤¨ò¢¦ðŸ£íšžè•™â‘•Þ’’Ú‰‰Ï|€Àrx´nu«lpŸhhŽj_x`x‚WjO_¥OZ½R\ÑR[ÚOVÛHPñ:Pî=QéAPàCLØCIÑ?BË9:Ê45åIJèHHã@AÕ76Î93ÌB8ÅE8º@1ÃE6ÃE6ÅF7ÉE8ÌG8ÑG:ÖH<ÛG;Ö>3Õ;1Ö8/Õ4*Ö3*Ø4+Û4,Ü5-Ú9/Ý<2à=4ß<3Ý90Ü5-Ü5,Ý6-Ò.$Ý;.Ü<.Í1"Å.Í8$Ð=)Ì;&Ë:'Ò9+á:1ó=9ÿ@@ÿ;?ÿ27ô+1ê,.ß+,×+)Ó+(×/.Þ44ä88è:;ó55ò64î73é6/ã7-Ý5*×5(Ñ5&Í5'çPEÿmcÛHAÈ42×CCÓ>BêUYÙB;Ô=6Ì70Æ6-Ç9/Æ<1Ã=1Á=.»9)»<+½@.¿B0¿B0¾?.¼=,»<+ÃC8ÄD9ÈH=ÏPGÒSLÐOIÐOJÔOPç_cîaiûitÿm|ÿdu÷UjõRgýWoÿSxÿUtûWpð_pñoyôy~êmsÞXaïamò`mïaoðs{숊ɂ|¥wjšyhhpYMO:^WGƒqg±•’Ý¿¿ñÔØýéëþôõýûþûÿÿúþÿýþÿÿýÿÿûÿÿöÿüÿøùÿõúýôÿÿúÿÿúÿÿúÿý÷ÿþöùðçíåÚéâÒôïÜÿûåÿþåÿÿãÿÿâøúíòôçîðãSM=RL<QK=OI;MG9KE9JD8IB8E>4D=5B;3A:4@93A:4A96B:7@A;CC;IE:NG7QF2RF.UF/WH5XJ=RHFXR\jh€}§‹’Æ’žÚ–¤å¥¦ù¦§ú©ªý«¬þ¬ÿ®þ¬ý«®û¨¬ö¦ªó¤¨ñ£§î¡¨î §ë¤è›¢æ™žâ’šÛŠ”Ò…Ê‚ŽÂ‚‰·‚©‡yšŽmˆšczªWi¾P]ÓKWäGPí?Hñ9Aî;6é<5âB6ÙH7ÎJ5ÅG1ÂD.Å@/ãUGàG?Ú;7Ø64Ø88Ö:;Ï98Ê66¼=.¾<.¿;.À;,Â8+Ä6*Æ3)È1&Í5*Ð3*Ñ3(Õ2)×3*Ù5,Ý6.Þ7/Ü>3Ý<2Ü;1Û8/Û7.Ú6,Ø4*×3)Õ3&Ó3%Ñ4%Ï6&Ò=)Ñ>*Ê9$À2Æ;(È5%Ó3'ç60ü;<ÿ=@ÿ7=ù27ê-1à..×--Õ0.Ü44ã9:é;=ë;>ý.4ú/3ö01î1/æ1*Þ2(Õ1%Ï3$È2#Ð>/új_ãTLÈ95Ð@@Ë:=ãRUçJEÝB=Ò93Ê5.Æ8.Å;0Â<0¿=-¹<*¼?-½@.¼?-º;(º;(½<)¾=*º>2º>2ÀD8ÈLBÌPFÊNFÌMGÐNLçbcêbføhqÿo{ÿhxøYm÷Ujþ[pÿXsü\tìbqãktç€í‰‡ãyyØ_dñhrÿl|öcsíkwø‘•é¤ŸÀ–Š¥‹z\pWFR<UVFtg^¤ŒˆÜ¾ÀóÔÙùâèÿóøÿúþýþÿüýÿýüÿÿüÿÿúÿÿôÿûÿøøÿõ÷ýóýÿùÿÿúÿýöÿý÷ÿÿöÿùïõïãòìÜúõáÿþçÿþâþÿàÿÿãýþðùúì÷øêUO?TN>RL<PJ<NH:LF:KE9JC9G@6F?7D=5B;5A:4A:4B:7C;8@A<DD<IG;MG7OG2RF.VG0WH3VH;RGCWRYjh~~‚§Œ”Å’žØ–¤ã¡ž÷£ ÷¦£ú©§û©ªýª«ýª«ûª¬ù§«õ¥©ò£§î §ë¢ªë£«ì¢ªë¡©è˜¡ä–¡á”ŸÝ“ŸÙјǒ‘¹™Š«‘m‰£c{´WjÇM\ÚBNë;Eø6>ÿ4:èB*âD)ÙH)ÎN+ÃO(¹L%¶H%»D&ÛWBÚF8Ú;5æ>>íBHé>Fß5>×08ÈF8ÇE7ÈD7ÉA3Ç=0Æ8,Æ3)Ç0%Ê0&Î1(Ó2(Ö3*Ù5,Ù5,Û4,Û4,áC8Û=2Ø7-Ø7-Ü:/Ý9/Ù5+Õ1'Ù7*Ð0"Ì0!Ð9&Ì9%Æ5 Ç9#ÑE.Á:&É:)Õ7+â3.í//÷05þ5;ÿ;BÿIMúGJîDDæ@@ä>>ã9:ã28á.4þ'/û(/ø*.ó-.ë0+ã2*Û5)Ô7(Æ0!¾/óeYê]TÌA<ÓEDÊ;=ÝNRïPMäFCÕ:6Ê5/Æ8.Ä:/À</»<+»>,¼A/½B0º=)·8%º9&¾;)Á>,²8+²8+¸>1ÁG<ÅK@ÄIAÆICÊJGå`aæ^bñdlÿlxÿix÷ZköTiýZoú^tòcuãgqØqrÝ…é”ꋇåruùq{ÿxˆõ`sßXgóŠ‘ý¶´Ö«¢¬•…TnSAS;PTCkaWž†‚Ý¿ÁõÖÛøßåÿóùÿûÿÿþÿüýÿýüÿÿüÿÿúÿÿôÿùÿø÷ÿôöüòüÿøýþøüüôÿýöÿÿöÿþôûõç÷ñáüúåÿþåþýáýþßÿÿãÿÿñýþîüýíXO@XO@WN?VM>TK<SJ;RI:QH9MD5LC4KB3I@1H?0H?0H?0H?0FC<GE9JG8NI6RJ5UJ4UJ4VK9XNDULMXTbii…{~©‰ŽÆ‘™Ú— 妢ù¦¡û¢¡þ¡¡ÿŸ£ÿŸ¨ÿ «ÿ¡ÿŸ«÷ ªï¡©ê§¨ë«¨ï²§õµ¦ù¶¤ú—«ÿ“¨ùŒ£ç£Ö¢¦Ë´ ¹½„“ÆbnÑEPé:Gõ5Bø4>ñ8>æ=@ÙD@ÑHBå;Dà;BÞCGÉ99ÌB@ËD@½/-ÞHIëHKîAGï;Dì8Aé:?â<>Ú<;Ô<9ÏA=É>9ÊC=ÑLCËK@¼>2³7+¹;-¹9,¾8-Å7-Ê3,Ï0,Ô/-Ý11á34çA1à9)Ü1 á1"é8(ê;*ã6%×2Ñ2Ì4Ê5Ç4 É3"Ì3%Ñ3(Ô3)Í.(Ï2+Î6+Ì8*Ë8(Í7&Ð7%Ø6'ß3'é2,ð31ò01ð+2í*2í+4ï-6ú+1÷*/ñ+,î.-ë4.ä8,Ú7(Ð5#Ã.Ä3 çXHèZLÊ<2ÞOGÄ5/ÚIFÝQRÚLKÒDBË<8È80Ç7,È9+Ê;+È;)Å:'À9%½:&»<)º=+¸=+¶=,³9.µ;.¹=1½?1½?1¿@1Â@2ÅA4ïk_õqeêd[ômiùroécbðjiútuÿk|ûivñdmï_hòaføgjõnkîqk÷|wÿ}ƒþYjÿ[wîZpû¬±«°œaŸz]sMIZ6LR6snX£–†Ë·®íÕÓÿîðÿõ÷ÿ÷ûþøüüüþþÿÿþÿÿþÿÿýþÿæÿòàÿëâýêìÿð÷ÿôûÿôþÿóÿþñÿýïÿûîÿùèÿùæÿøãÿùãÿùáþúáýÿþþÿÿþÿÿYPAXO@XO@VM>UL=TK<SJ;RI:NE6MD5LC4KB3JA2JA2JA2JA2FC<GE9JG8OH6RJ5UJ4VK5VK9XNDUMKYUciiƒ{}¦†‹Â•Ô“œß œðŸñžžöžŸû¢þŸ¦ÿ ªÿ¡¬ü ¬ô «íŸ§æ¢¦æ¦£èª¢í« ïªï™ªü—§ô˜£åžžÒ¬šÂºª½r†ÃUbÓCMå;Dð7?ñ6=í8=ã=?ÛAAÕDAä:CÜ8?Û@DË;;ÊC@ÈA=¿41åOPäDFé>Dë:Bè7?ä7;Ü89Õ:8Ð;7ÓF?Ç<5Å<4ÌG>ÌLAÁC7¶;,·9+¹7*½7+Å7-Ë4-Ñ2.Ø3/á53æ66á?0ß<-Þ6)à4&á6%á6%Û4"Ó4Ð:"Ê:"Æ:#Æ;&É<*Í;,Ì8,Ì5*Ö3.Ö5-Ñ7-Î8*É6&Ç4"Ë4!Ð3"Ø2$ß1(å/+ç.,è,-æ,1æ-3ç.4î*,î,-í0.é2.á3*Û5'×7'Ò9'Ó@,»*ÔE5Î?1ÙF>êWPØC?ØBAåWVâRRÛKJÔC>Í=5É9.È9+Ç8(È;)Ä;(Á:'¾;'½>+º?-¹@/¶>-²9.µ;0·=0¹=1º?0½?1ÁB3ÅC6ëi\òmdçb[ðkfõolèbañklûuvÿp€ÿo|öirë^fêY^òadøqnù|vöyuÿx~ùRdÿUríXnö¥«¥¨“X”n[tLN_;QZ;us\ª×úøàÜÿôóÿúûÿúûÿûüüüþúþÿûÿÿúþÿûüþçÿñáÿêáýçéÿìóÿòøÿóýÿòÿÿóÿýïÿýíÿúëÿöåûóàúòÝûõßý÷ßúúøüüúÿÿýZQBYPAYPAWN?VM>UL=TK<TK<QH9PG8OF7MD5MD5MD5MD5MD5GD;JF;MG9PI7SK6VK5VK5VK9WMCVNL\Vbkiy{¢…ˆ»‹‘Í—Ø™—à™˜ä˜™éšœï›Ÿö£ùŸ§ø ©ö ªïž§èœ¤âœ¢àžŸàžáŸ™ãž—äã–›Ý –Ү¼ƒ®Ær“ÇZqÇCQ×AJá>Cæ<?è;=æ<?ã=Aá>Cß>Câ;CØ7=Õ?AÏA@ÉD?Â=8Ã96ëWWàBCæ=Bé:Aæ7<Þ58Ö66Ñ96Ì;6ÕHAÅ:3¾5+ÅA5ËK>ÆH:»=/¶8)¹7)¿7+Æ8,Î7.Õ60Þ63æ87ë;;Ó5)Ö6*Ú6*Ü6*Ý5(Ý7)Ú:*Ö?,Ã5¼5¸6 ¸7"»9)¼8+¼4(º0&é=;å>8Þ=5Ô</Ì9)Æ8$È7"Ì7#Ò7%Ö2&Ù.&Ú-'Ü-*Ü.-Û//Û//Þ*)á/+á4.Ý5,Õ3&Ð5#Ð9&Ñ>*ÓB/Â1 æTEÐ<0ÚA;ÞC?èJIòTSèVVçSSãOMÝIEÖC;Ï<2Ê8+Å6&Ä7&À7%¼7$»:'¹<*·>-µ=,²=,°:.±;/²<.µ=/·=.º?0ÀB4ÃE7Ü\Oêg]äaYñlgöpoçabìfgòkoäP`ï^kôhqòemñ`eödgûqqúzwövsÿnuõJ]ÿMjïUmñœ¡ŸžŠPˆcVoEOd=Va?ww]¯¤’âÐÄÿíæÿ÷óÿûøÿýûÿþüûÿüûÿýûÿýùÿû÷ýùãÿëÜþãÚøÞàúáèûåïüèöýëýþîýúëÿúêÿ÷èúñàòê×ðèÕôìÙùñÜýùöÿûøÿþû\PB\PB[OAZN@YM?YM?XL>XL>UI;TH:SG9RF8RF8RF8RF8RF8JF=KG<OI;RK9TL7WL6WL6WL:VL@UMJ\V`jh~yy‚„´ˆÄŽ”Д”Ò”•Õ••Û–˜ã˜›ê˜žìš¢í›£ëœ¥æ˜¢ß–ŸØ“œÕ“™Õ“—×’“ÖÖ†½Ž„¹£~²¸r¤Êe‘ÖTzÙDa×:Kà@HÞBCÞC?ÞC?áAAä?Cè=Fë;Fã?FÖ:>Ó>@ÐFCÅA<¸71Å>:ê[WÝABä?Cç=@ã:=Û89Ó97Î=8ÌA:ÏE;Ã9/»2(À</ÇE7ÄE6½>/¸9(¼8)Â8+É:,Ò:/Ù80á83è;7ì=:Ô3+Ö3,Ù5,Ý4-Þ6-Þ7.Ú:.Ô>/Æ9(Á<)½>-¹>.»=/½=2Á>6Ã>7ó?>î?<æ?7Ù=1Í:*Æ9%Æ;$È<%Ï<(Ï8'Ï2#Ñ1%Ó2(Õ4,Ñ2,Ï0*Ñ3*Ó5*Ñ7+Ï7)Ê7'É8%Ê<(Ì>*Ê<(Î=,ô^PàF<Ò3/Ò.-è?BþUXÿvuÿroÿjgö^YçPIÕA7Ç5(½.Ä8'À9&»8&¹:)¶=,µ=-±>,°<-<.<.®=/°<-±;-¶>0¼B3ÁE9ÉMAß`Wâa[ôpløtrå`aä]aå^dÙFVçYeógpôgo÷dlýjpÿstúxvõssûenóCXÿEbðRkë’˜œ—ƒN‚\Ql?Ri?ZhDy|_°ª”èÛËÿôêÿùðÿúóÿýöýÿùûÿúùÿúöÿøòüóîøïÔüÚÎóÒÊëÌÏìÎ×îÒàïØéòÝóöãöõãûõåüõãõìÛíáÑéÝÍíáÑóç×úõïü÷ñþùó\PB\PB[OA[OAZN@YM?YM?YM?WK=VJ<UI;UI;TH:UI;UI;UI;LH=OI=QI<TK:WL8XM7YM7XM;UK?UKI\U]hexut“|~§„ˆ¸ŒÄŽÁŽ‘Æ’Í’“Ô’•Ü“—à”˜á•šÞ•Ü’›ÔŒ•Ì‡‘ƃŒÃ‡Ã}‚ÂzÁ|vš‹q–¦h‘Ä[†ÚKvè>cî7Uí8IçAEßFAØIAØIAÞFCæAGð;Jõ8JãDI×>AÐ@?ÏJE¾?8²3,ÇD<âTPÜDCáACä>@â>?Ü>=Ô@<ÏE;ÌH<Ç=2Á7,½5'½9*¿=-¿=-»<+½<)À;*Ç;,Î<-Õ;/Û8/à70ç83ë95ã:7â64â22å31æ42ä50Û2+Ò1)É2'Ç9-Ä<0¿90¼5/¿52È<;ÒDCó57î66å61Ø5,Ë5&Ã6"Á9#Ã;#É>'Ê9&Ë5$Í5'Ñ9,Ó;0Ò:/Ï8-Í?1É;-Ä8'Ã7&Ã:'Å<)Å='Æ;&Í>-Í:*Ø>2ãB:Ö.+æ::á14å26Ò73Ö;7ÞC>åJEêQIêSHèTHäUGË?0Æ>.¾<,º<-¶>.³@.°?/®?.«=0«=.¬<.¬<.<,±=.·A3¼D6ÆLAÞbZâc]ðnlôrrå`cå`eæ`gúixûozõltí`hñ^fÿkqÿw{ÿ{|öpqø^hö@Wý>]óOhæ‡ •ƒX†aXuE\vIgwP‚ˆfµ±–éáÌÿùéÿüíÿýñþÿóûÿôøÿöôÿóíûìäòãÝëÜÁëŻ㾺޺¿Þ¼ÆáÀÍâÃØæÌãëÓìîÙôñÞøñßóêÛìàÒèÚÍìÜÏñáÔòçáòçáóèâ[OA[OA[OAZN@ZN@YM?YM?YM?XL>XL>WK=VJ<VJ<WK=WK=XL>PI?QI>SK>UL;XM9YM7YM7XM;WK=ULGYSWc_nmkƒtt–|~§ƒ†³†‰²‡Š·ŠŒ¿‹ÈŽÏŽŽÔÕÓ”Ó‹Ê‚‰¿{‚¶u|²ovgp«ck©€n~eyZvÏMoê?cú2Vÿ0Lû6Gð@CâGBÙLB×MCÝIGèCJõ<Nü8NàFH×CCÌA>ÍID¸<4¯5*ÉI@ÕLF×CAÜ>=Ý:;Û;;Ù?=ÔE=ÌH<ÇI;Á7*Á7*À8(¾9(¼9'º9&½:(À;(Ä;)Ê=,Ò<-×;.Ü8.á6.ä6/è5.ê24è.1ê+0ð/2ö37÷69î45æ21Ø/,×31Ô63Ï42Î/3Ð/5Û5?ä=Gõ,2ñ.2è2/Ü3,Ñ5(É8'Æ;&Æ>(Ä9$Æ8$Ë8&Ò:,Ø?1ÛA5ÚB5ÙA6ÎI8ÇB1¿<*½:&Á<)Ã?*Å<)Ä9&Ì;*Î6)Î0'çB<Ý1/ñ>Aå.2à'-Ò3-Ó4.Ö71Ö92Ò8.Í5*Æ2&À1#ÎE5ÆA2¼=.µ:+±9)®:+ª:,ª:,ª</«=.¬>/«=.«<+¬=,°?/µA4ÉSGàg^ßd_èkiînoæchðjqõoxüp}ýt~õmwîcj÷dlÿqzÿw|ûsuökpöXfûAYÿ:[õKfâ}…©˜†l”ojŠXo‰ZxŠ`—r¶·˜âÜÂúôÞüúåÿÿïûÿïõÿïîÿëçúäÜïÙÐãÍÉÛÅ«Ù«¨Ó¦¨Ñ¥¯Ô©¶Ô®¼Ö±ÇÚºÒßÁàæÌêéÔòíÚòéÚïáÖìÛÑëØÑíÚÓèÛÒæÙÐåØÏZN>ZN>ZN>ZN>YM=YM=YM=YM=XL<XL<WK;WK;WK;XL<XL<YM=RJ?TJ@UL=XL<YN:ZN8ZN8ZM:YM?VKEXOP^Xbd_sifƒqp’yyŸ|¢~€§‚°ƒ„¼††Äˆ‡Ë‰ˆÎ‰ˆÌˆˆÈƒ„½{~µuxor§jm¤eg acž…ac“X^±O\×H\ó=Vÿ1Kÿ/Dÿ7Bö>@çE@ÝJBÚKCÞHGéBLó<Nú8PØDDÕEDÈA=ÈIB³:/°7,ÌPFÉB<Î=8Ñ64Ï10Ð51Ó>8ÏE;ÆF9¿E6Á8(Ã:*Â:*¿:'½8%½:&¿:'Á:&Ä9&Ë:)Ò;*Ù9+Ý7+á5+ä3+ç4-í)-ò)/ù,3ÿ.4ÿ07ÿ18ÿ28ý58ú7;õ8<ò9?ò9Aô9D÷6Gû6Hü5Jø)1õ,2î02ã4/Ø7-Ï9*Í<+Ì=,È7&Ï9*Ø</Þ>2á?4â>4â?6â?6ÑN<ÍH7ÇB1Â=,¿:'Á:'Å9(È9)Ç3%Ó9/á@8ëD>Þ0/á-.ì38í38×4-×6.Ù80Ø:1Õ;1Ó;0Î:.Ê:/ÖL?ÌF:¿?2´9*¯7)«7*©8*¨8*ª<-¬>/?0=/«<+«<+<,¯>0ÀKAÚc[Ýc^èkiðosëhnõrzüvïer÷oyør{öjsÿlvÿvÿu}öioõfl÷RbÿA[ÿ6YôFaÝt{²›‰€¤~z›f{—f€–h‘u±ŽÌËáàÄéëÓî÷ÜåóÙÙíÑÎçÉÅÞÀ¼Õ·´Ë®®Å¨•Ã’”‘˜Ä“¡È™§Ë¬Ë¡µÎ§ÁÒ®ÎÙ»ÙÝÄåãÎìåÕïáÖëÚÒçÒÍäÏÊÞÐÇÚÌÃÕǾ[N>ZM=ZM=ZM=ZM=ZM=YL<YL<ZM=YL<YL<XK;XK;YL<ZM=ZM=TJ@TJ>XL>YN<ZM:ZN8ZN8ZM:[O?WMDWMKZSZ^Xfb]sjfspvw–xxœ|{§~µ„¿‡Çˆ‚ʉƒÉ‚}¿~zµzuvq§vo¥sl¢og ldŸ‹PH•JE²FF×EOò@Lÿ7Dÿ3@ÿ8>ø<=íA=äE?àGBãDHèAKï=Mô:OÒBAÑGDÅA<ÂH=¯;.°</ÐVKÃ>5É83È.,Ç)&É.*Í:3ÌC9ÂD6¸@0Ã:(Ã<)Ã<)Á:'À;(Á=(Â;'Ã8%Ä6"Ê7%Ô8)Ù7*Ý5(á3(å3)è3*û03ÿ58ÿ7<ÿ38ÿ,2ÿ&-ÿ'-ÿ)1ÿ,3ù'0ô%/ú'6ÿ+=ÿ(Aÿ:ú2ö".ô&0î+1æ0/Ú1,Ò4+Ï5)Ð6*Ô6+Ü90æ>5ì>7ë:4é61è50é61ØL?×K<ÒF7Ê>/Ä6(Â3%È6)Í9-Í5*Ô6-æC<à74à21Ò ì89ê35Ó2(Ô3)Ò4)Ñ5)Ï5+Ì5*È5+Å7+ãYNØRFÊH;¾@4¶</´;0³=1³=1®:-°</±=0±=.<,«:*«:*¬;-±<2ÐYQÜb]ìppôvyîltõrzör}ÿy…ÿ‰ýz‚òiqøeoÿp|ÿt}ýntó`j÷Naÿ@^ÿ3WôA^Ûnt¹ž‹Ž®‡~¡i}›g—hœq¡©‚µ¹–ÉÌÕܽÌÙ»ÁÔ´²Ì©¥ÃŸž¼˜˜¶–²Œ”®‰…¶~†µ~ºƒ•À‹›Ã¡Ã‘¨Å—²ÉŸ¾ÎªÉÒµÚÚÂæßÍêÞÒéÖÐáÌÉÝÅÃÓºνµÈ·¯ZM=ZM=ZM=ZM=ZM=ZM=ZM=ZM=XK;XK;XK;YL<YL<ZM=ZM=ZM=YMAYM?ZM=[N=[N;\O<\P:\O<ZM=YMAWLHXNOXQX]Ub`Yka\pifƒokŽsp›vq§{u³ƒ}Ê‚ËŠƒÉˆÂŠ~¼‡z²ƒr¨†r§Œu…l¥z^˜™G9¡C7´A:ÍC@á?=ì89ø:<ÿBCú<<ó=<ì>=ê@AéBIêCMëANê>NÌA<Å@9¾?6µ?3®=/±=0¿E8ÒMDÇ61Ô;6Ï1.Í2.ÖC<Ç?3´6'·?.½6#Á:'Ã<)Â;'À9%Á:&Ã:'Ç:&Ë:'Ð9(Ô7(Ö3$Ú."à/%ì7.ô=5ø72ù30ú.-û)(ý%&ÿ#%ÿ"'ÿ"'ÿ$*ù )ú!,ÿ%7ÿ'<ÿ;ÿ4ÿ3ý)7ð".ç"+ä*-Ý--Ó+(Ò-)Ü41â62é54ï64ó55ó12ñ-.ï+,í++Õ<4Ò91Ñ:1ëTK»"Ä+#ßF>È.&Ì/(Þ<7èE@â:7Ø/,Û.*ã41é:7Ý?3×;.Ï5)Ë3&Ì5*Î:.Ë;0Æ8.ìbWàZOÈD8¹6,º:/·9-¯3)²6,¯1%°2&®2&®4'¯7'²:,²<.³=/°:.ºC;Ö\Wìppñsvøv~ûyƒõq|ÿ{„ûx€øu}üs{ÿr~ÿq}ÿlxûisøbmôI\ÿ=\ÿ8[ñ:VÖek²–‡¦}~¡i|šd}•c‡—j”ŸuŸ¥ ¨ƒœ¨„’£Š£|€Ÿvx›qw›o|r t„£w¯uƒ³y‰¹½„“¾†—¾‡œ¾‹¢½§¼“¯½š¾Â§Ï̹ßÓÇãÒËÜÇÄÖ¾¾Ê»´Á²«¹ª£ZM<ZM<ZM<ZM<ZM<ZM<ZM<ZM<XK:XK:XK:YL;YL;ZM<ZM<ZM<ZL?ZL?ZM=]M=]N;^O<^O<\O<]P?[OA[NFYNJZPQ\SX_U^_Wbb\xibƒng‘qjžvp®€y½‡€ÆŠ€Å€Ã~ºtŒn¢—q¤¡uªši ŒY‘©;.¨7)°6)À>1ÐB6Ü?6è?8ôA=ö=;ø:<÷:@ô<Dï?IèAIâ@KÜ?HÃ>7½=4¶<1°</ª:,¬;+¼B5ÐJAÚG@ÜA=Õ63Ò41Õ@9ÍC8¹:+¯6%¿8%Â;(Ä=*Ä=*Ä;(Ä;(Ç:(È:&Ï9(Ñ5&Ô2%Ú2%ã5*ê8.ï80ñ91ä2&æ0%ê.#ñ,$ö+%û+'ÿ,+ÿ-,þ)-ú%+û#.ÿ&5ÿ$9ÿ5ÿ1ÿ 0ð .ù-9ö2<å*1Û(,Ü.0Þ02Ý*.ò9>õ6;ú3:û06ú-2û.3ý14þ36×4/Ü:5Ù72æDAæDAÎ/+Ñ2.Á"Ö41á?<èE@à=8Ø3-Ù2,Ý60à91Ò<-Ï9*É5'È4&Ê8+Ë;0Ê<2Æ9/ícYáXNÉ@8¼3+À:1Á;2½7.À:1Á4+¾4*½4*»5*¸6(´6(²7(°6)´;0»B9ÓYTèllïqtöw~þ|†øv€ÿ|„ûyøv~þuÿsÿo}ÿiwùeqùanöI]ÿ<\ÿ9\ô=YÕdh«y€œsu˜`t’\w]cŠ•k—p‹•p…”mp†_lˆ_fŠ\g^j_q•ey›i}l€r„²tŠ¸z»}½‘½‚–½„›»‰›µ†¡³¶—¾½¨ÏÆ·ØÇ¿ÖÁ¾ÒººÅ·¶º¬«²¤£\L<\L<\L<\L<\L<\L<\L<\L<ZJ:ZJ:ZJ:[K;[K;\L<\L<\L<\L?\L=\L=]M=]N;^O<^O<^O<_RA^QA\PD[NFZOK[PN]QS]ST_RlcXvh]…jb“sk¦}w·†}Àˆ}¿—…Ù€¹›v©ŸoŸ¯t¢»v¥µi˜¤U…Ä92¾5-¹5)½>/ÇE5ÐG7ÚC8ä?9ó=<ú9>ü9Aú:Eò>GæAH×@EÏ@B¿<4¸90±8-«:*¨9(«:*»?3ÏF<ÙD>Ø96Ú65Ü:7ÜC=ÝOEÍI<²4%À9&Á:'Ã<)Æ=+Ç>,È=*É:)Ì9)Ï8'Ï2#Ó/#ß4*î=3ô?6ñ91í2+Ú7&Ý6&à3#å/"é-"î+%ñ,&ò+(ó++ð(+ò'-ú(5þ%8ÿ5þ2ÿ3ð(5ô.;ô4?ò8Cï;Dð<Eé5>å+6ñ1<ô/9ù-8ù+5ù,3ø-1ö.1ö01Ù1.ä<9Û64à;9ÿljæBAÒ.-Ð.,Û97á?<àA=Û<6Õ7.Ô6+Ô6+Ó5*Å8&Ã6%Ã6%Ä8)Ç;.Æ<1Æ<2Å;1ëaWáTMÉ<3¿0(Ë;3Ï?6Î;3Ñ>6Ú=8×<7Ô=4Ï<2É;/Â:.»7*¶6)·;/»@8ÏTMãgeíorøz~ÿˆý{…ý{ƒùzúx€ÿwÿsÿl}ÿftøbnø]kõG^ÿ:Zÿ9\÷AZÐ_c›gkŠ^e†Oh…Ol„Rt…X{ˆ\}ˆ^x„\q‚X`yO_P`†UeYm•`uœg{ j€£mp…±tˆ¶v‹¹y‹¹yŒºz‘º~”º‘±•¬€›©†©’ºµ¢Ç¹°Ë¸²Ì´²¶®ª¡¢ —˜[K;[K;[K;[K;[K;[K;[K;[K;ZJ:ZJ:ZJ:[K;[K;\L<\L<\L<]K=]K=]L<^M=^M;^O<^O<^O<`P@^Q@]P@\NC\NE[NF\OI]PJ`NdcSmfX{g^‰ohœzu¯„|¸†{µ™…º¥…´¯€ªºy¡ÈxŸÓušÍc‹¾OyêAFà@@ÕA=ÌF;ÈJ;ÉJ;ÐF9ÜB:î@?ø;Aþ:Dü<Gñ@HâAFÑAAÅ?<¾?6¶<1¯9+ª;*©:)9*º?0ÎD:Õ<7Ö21â:9æA?áD?çTLÞVH½;+Á9)¾6&¿8%Ä;)É=,Ê=,Ë9*Î8)Ï3&Ò2&Ù3'å9/ñ>7õ>8ð50è-&×:)Ú8)Ý5(à2'æ/'é.'é,(é,*ç+*å(,è)1ï+7õ';ö";ú=ÿ"A÷8Gä(6ç/;ÿP\ÿ`lÿP\ò<Ió9Gé)8ï)8ô,9õ0:ô17ì01â*(Ü&#Õ2-Ú64Õ1/æBAÿrp÷TUÝ==æFFÛ=:Ú<9Õ:5Ò80Ñ7-Ï7*Ì4&É1#º7#¹6"»8&¿;,À</¿9.À:/Å<4åXQÜMGÊ70Ç/*×<7ÞA:Ú;5Þ=5ë<9ê=9æ?9â?8Ù?5Ð<0Ç;.¿9-»9,»<3ËOGàc_ìnoú|ÿƒŠý~…úx€øy€ùzÿx‚ÿt‚ÿl}ÿdtö_nóXhõE\ÿ6Vÿ7ZùC\ÇYZ‡mRWxIXv@\yCdzIl}PtVw‚XrXoWl‡Zl^o•buh{¤l¨o„ªq‡ªr„q‡±rˆ´u‰·v‰·v‰·vŠ¸w¹z‘´|«z’¤|¤…«–¾²¦È·¯Ë¶±¯¬³¡ž¥•’™[K;[K;[K;[K;[K;[K;[K;[K;ZJ:ZJ:ZJ:[K;[K;\L<\L<\L<^K=^K<]L<^M=^M;_N<^O<^O<^O<^N>^N>^N?^N?_OB`PC`OEbM\cPdcUodZle‘vr¤~w«‚v¦“~©¬†«Â‰©ÐžÛw“âk‡ÝXuÓFfÿ=MüDPðJNÞJHÌG>ÇG<ÍG<ÙD>èBBó>Cù>Gø@HðCIÞDDÍB=À?9½A5µ=/®:+ª;*©:)9*º<.Ì?6áFBä<;ïABíAAÞ:8ãJBæXLÔL>È@0À8(»3#Á8(È<-É:*Ë7)Ð8+Î0%×3)à8/é;4ï:3î50ë0+è+'Û4,ß4-ä2.ë31ð43õ45ö58õ6;é/4ç.6ê0=î1Cò.Fõ*Gý,Lÿ1Tð<Hå3?ð@Mÿ_lÿlzÿWfõCSõ>Pî3Dî2Aî3>ê5<æ89Ü73Ð3*Ç/$Ì2*È-(Ñ61óXT÷\ZóXVÜ@AâHHÜB@Õ<7Î70Í6-Ï8-Í9+Ê7'Æ3!³:%²9$´;(¸=-¹;-¶6)»8.Ä>5ÛNGÙEAÎ50Ð1-á>9è?:ã81ä71ð/0ï11ì42é73â92Ø:/Ð9.È:.¾6*º7-ÈIBÜ_Yënlû}€ÿ…‰ýƒõv}õx~ùzÿx‚ÿsÿj{ÿdtö_nðUeôF]ÿ6Vÿ7ZúF_ÀTRvaBJo<Us?[vCdzIn~QtVy„Zyˆ_wŒay”gv›hy¡l|§o«p„«r…«p†ªm‡rˆ°r‰³tˆµt‡¶r…·r‡¹tŠ¸w·{Œx¤x™¤‚«•À¹§ÎÀµÖüººÆªª¶œœ¨ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8[L9[L9\M:\M:\M:^K<^K<^K<_L=^M;_N<^O<^O<]N;]N;^O<_P=_P=aP@bQAbQAeKTdN[aPc`Usga…rp˜xvž|r—Žv–®ƒžÌ‹ŸÝ‚“çr‚ïbsìObå>Rÿ-Hÿ:QþCTéDKÒ@AËA>ÎDAÖEBãEFêAFï@EïBFçDEÚEAÉC:¿?4º@3±;-©8(¨9(©:)®9(º:-Ë;3èIEë??î;>æ68Û2/ÞA:îZPõg[ÙQCÉA3¾4'À6)Ç9+Ê8+Í6+Ò8,Ñ0&Ü5-æ;4ë:4ê40è/,ê-+í-,ó4;õ3;ø3<þ2=ÿ1>þ0=ý0?ù0@ô1Añ2Dò5Kó5Oó0Põ-Qþ1Xÿ:dá7B÷O\ÿanÿ`nþXfùQbòEXé8Jó@Sê:GÝ2;Ò/2È3-Á9-º=+µ>(Æ9/¿2(ÙJBúkcÝLGáPMÍ<9Ï;9àLJÔ@<Ê7/Ê7-Î</Í<+Ë:'Ê9&®>(«;%=)²?-±9)®4'º:1ÊC=ÕHAØC?Ô72×2.ç;7ì:6è2.ë2-÷)+÷+,ô.-ð3/é61â:1Ú<1Ò>2Â6)º4)ÅB:×XRçjhú|}ÿ†‰þ€„õv}öyú{‚ÿx„ÿqÿh{ýbtõ^oîSe÷I`ÿ9Xÿ9[ûI_ºQNmZ:Em8ZvCa|InSv†Y|‡]Šbg‚—lœl{ m|¤o}¨p~ªo‚ªnƒ©l…©lˆ«qˆ®qˆ°r†³r„³oƒµn„¸p‡¹t‹µv‰¬tŒ¦wš¨„°´™ÈïØ̾àÏŽÃÓ«±Á›¡±ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8[L9[L9\M:\M:\M:`J<`J<^K<_L=^M;_N<_N<^O<^O<_P;_P;aP<aP<aP<aP<bP<fLOdMUaO]_Vkgb€sr’yx˜}t‘ŽvŽ’Ά’á}…ñowýbjýOXö>Hÿ$Hÿ0Qÿ;Uñ<MÞ<GÖAEÓEDÔBCÜCEàBCäADäABÞDBÔC>ÇA6¾>1·?1¯9+¨7'¨:)¬=*²=,À>1Ñ>7ß=:ç79æ/3ã/0á32Û94åNEülaïj[ÙQCÆ</Æ:-È:.É7*Í6+Õ8/Õ4,Þ7/æ93é62é1/ê.,î1/ó32ÿ0Eÿ/Eÿ-Dÿ*Bÿ%@ÿ"=þ:ø:÷'Aó+Gô/Mó0Rò+Rô)Vÿ1bÿ=nêHSÿ`mÿiu÷VeíKZñL]êCUÚ1DéARÝ7CÉ,3¹)(®0$¨9&£A&ŸD'¼=.º;,ÜZMá\SÍG>ÍD>Á61É;7ãUQÕF@É91È8-É:,È9(È:&É;%ªB)¦<&¦<&¬=*©8(¬3(¼=4ÒMFÕGCÝEBÛ96Ü30é73í41ì/+ó2-ÿ)/ÿ*/ý--ö0/ï4/è7/ß;1Ø>2É:,¼4(À;2ÏNHßb^÷yzÿˆŠÿ„†ùzú}ƒü}„ÿx„ÿn~ÿdwù^pò[léN`öHaÿ8Wÿ7YøH]²JGcS1Al6ZtDf~NuˆZŽc…f‡’jˆ—n‰žs‡¤t‚§t§r}¨p}©n©mƒ©l…©k†§n‡ªp†¬o…¯o°l³k‚¶n…·p‡´s‡rŒ¨wœ¬…²¹šÈƱ×οÞÐÅ·¿Ò¤¬¿’šZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8ZK8[L9[L9\M:\M:\M:`J<`J<^K<_L=^M=_N<_N<^O<`Q>aR=bQ=bQ=bR;bP:aO9`N8jNMgNRbQ[cWkjfuv’}}™y‘’{¯ŒËƒ‡ã{|ùqsÿgjÿTXÿAGÿ#Mÿ.Tÿ7Wù9Pé>NàEM×EHÑ?B×BDÚACÜ@AÛA?ØC?ÏB9Å?4¿=0·?1¯9+©8(«=,°A.·B1ÇC7×D=Ú64å57ã,0ç02è88Ó0+Ï5-éUKÿznæ^RÎD7É=0Ê<0É6,Í6+Ö90Ú70ß82ä71ç40é1/í10ò53ø87ÿ=ÿ>ÿ>ÿ>ÿ=ÿ=ÿ<ü=ò:ï@ð$Ið&Nï$Qó%Uÿ0eÿ=sÿgrþalôXeîR_ïQ`îM]â?RÖ1Bß:JÑ4?¿-0±-(¦5'ž>&–C%E"¯7&²9(ÒWHº<0ÁA8º7/º3/ÍC@ãXSÕHAÈ91Ä6*Å6&Ä5$Ä6"Ç9#¦B*¢<%£:%§<*¦7&©3'½A7ØSLØIEáGEÞ:8ß2.ê41î1-ï.)ù4.ÿ'-ÿ',ÿ)+ö*)í-(ä1*Ü5,Õ9-Ð>1½3(¼7.ÉHBÙ\Xôwuÿ‰‰ÿ‡‰ý~…ý€†þ†ÿx„ÿl|ý`sõZlïXiãHZóE^û4Sÿ3RóCX«E@\L*?j4Uo?d|LwŠ\†“h‹–l˜pŽtŽ£xŽ«{†«x©t|¨mz¦i}¥g¥h‚¦h…¤k…¦m„ªm‚¬l®j}±i€´lƒ·oˆ·sˆ°tŽ¬xœ®„²¹šÄ«ÐǶÖÈ»²½Óž©¿‹–¬]K7]K7]K7]K7]K7]K7]K7]K7^L8^L8^L8^L8^L8^L8^L8^L8\J>]K?]M@\L=ZM=ZO=\Q?^SA_T@_R?^Q@aQAcRBdQCdNAcM@pKEjKIfOUgZknl„v|ž}†¯ƒŠ´Š…®Ÿ‰¸Š¦Ìƒ”Þ{~îumøl]ûfRðN[æDQä>LéANïCQí>Ké:Gê<Få:Bá;?Û;;Ö<:Ï?7È>4Á;/¼8+ :$¬C0¬=,®6(Â?5ÑD=Ð;5Ó61Û83Ü71Ý6-Ý7)Ü9(Ý='Ù;"Õ7à74õPLõXOÛD9Ç8(Ì?.ÒC3Ñ;-Ò4+ðGDâ.1ï4;ö4?ï+9ÿ@Qí(9þ&+ÿ*-ÿ*-÷"û#$ÿ()þ((òð"ú+1ì )î&1ò.<ç$5ÿYnë+@ÿ`jÿ^iÿYcûT[öPTìHIÛ@;Ê:1ÅA2½F2®D.Ÿ;$”5–7#˜;)œ=+§81«83ÁEC¿;9¾23Æ45È44×CAÜKFÚKEÑD;È:0Ä4+È4*Ì3+Ì2*·?1³9,®.#'¶,"Æ7/ÓC:ÚG=äPFßE;Ù80Ü1*ç/-ô01ý/3ÿ.4ò14ó12ô01ó/0ó0.î1+é4+à8-Ö=/¾2#¾?0·>3Õ`Wçtqÿù…†ôŠŒþ…Œÿwˆÿe}ÿ[wÿXuÿSoûJgûDcö7Y÷9]ç>[Ú]k„C=PI/F`;Xw<e‡Ku—[zcz e|¤h¨l€©o¨l~§k~¦j}¥g}£f£e£e€¢e}¥p~§o«n¬k~g¯e±e„²g‡µjŠµpŠ²s°z–¶‡£¿™«Ä¤¬Å§¦±µ˜œz…‰]K7]K7]K7]K7]K7]K7]K7]K7^L8^L8^L8^L8^L8^L8^L8^L8\J<^L>^N?^N?[N>ZO=\Q?^SA_TB]QA]P@_OB`NBbPFcOFcOFkLGjMOgS\h_rnoŽw~ª~ˆ»…ŠÁ›–Ì¢Œ»«£»wŽÕx‚í|x÷uhöjYüZgóN\ìFRòHUöJVõERï?Jë;Eä9Aà:>Ú::Õ=:Î?7Ç>4À</º;,¥>+ª?-¨9(²:,ÁA6Å<4Ç7/Õ<7Ó40×4-Ø4*Ø4(Ú7&Û:&Û;%Ù;"Þ52æA;ëMDàI>Ð>/Ç8(Ê8)Ó;.Ý<2öJFæ/1ò5<ø6Aò.<ÿ?Pì'8ö$'÷%(û),ý+,ü*+ù'(ø((ø*,ð$'í%(ê%,þ:DÚ'ð4CüATÞ#6ÿluÿblþZcüW]õOSæBCÙ;8Ñ>6¾8,¾E4¹H6¨?,–1)Ž()ž-'°:6ÑTRÎHGÃ54Æ45Ò<=ëWUØGBÖGAÏB9Ç9/Ä4+Ê6,Ð7/Ò5.Â?5À:1À5.Â3+É4.Ð83Ø?9ÞE=ãJBÞA8Ù6/Ü1*æ0-ó11ü03ÿ.3ò14ó12ô01õ/0ó0.î1+é4+à8-×>0¿3$¼=.¶=2Ó^Uévsÿù…†õ‡Šþ‚Šÿu…ÿe|ÿ[vÿWtÿQoþIhúAaö8Zö=_æF`ÅQ\{?7NH.Ga>Yx=e‡Ks•Yx›awbz¢f|¥i}¦j|¥i|¥i|¤h{£e{¡d}¡c}¡c¡d{¤l}¦n}©l}ªi}ªe}c¯c‚±cƒ±f‡²k‡¯pˆ«u‹«|¬„©‰‹¤†z…‡doqR]_]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8]L8^K<_N>aP@`P@]P?[O?[O?[RC[QE[QE\OF\OG_PKcQOfTRhTUiTQiVXi]kmi„sv¡zƒ¼ŠÍ‰Ö—‘ÙŸ‹Êª‚¶º}ŸÒ‘烅ð~tïveÿ`k÷S\íGQðFQöHR÷EQô@Kî=Gå6=à7:Ù99Ô<7Í@7ÅA4½?0¸=-©@-¨=+ª;*¸B4ÅI?À;2»0)Ì92Í6/Ò5.Õ7,Ù7*Ù7(Ú7$Ü:%Þ<'ß3/Û4.âA9éOCÜH:Ç6%Æ3#Ù@2á>5õHDé13ó4;ú6@ø4@ÿES÷3Añ),í"&î#&û03÷--ï''í%%÷12ì(*ø7:è+1â)1ë3?ÿR^ï=KÿYiúafñV\îOTðMRêEIÞ:;Õ74Ô?9À6,¿?2»C5²>1ª8-¥3)Ÿ,%œ' ˜% §0*ÆFCÂ::¼,,È44×ABô^]Ò>:ÒC;ÐA9Ë=3Ì9/Ô=4Ú@8Ý@9ÙA>×=;Ü>=ãA?ã?>à;9ã?=ëIDàA;Û=4Ø5,Û2+å2-ð31÷12ú/2ó04ô02ö01õ/0õ/.ð0+é4+à8-Ø?1À4%¸9*´;0Ð[Rízwÿ’’û‡ˆøƒ‹ü~‰ÿr‚ÿcyÿZtÿTqÿMmÿFgü=_ø:^ôBbåQg§?Fn<1OK2KcA[z?h‡Lr“Zu˜^tš_wŸc{£gz£gy¢fy¢fy¡cx byŸb{Ÿa| b}Ÿby¢j{¤j{§h{¨e{©azª^|^®`…³hŠµnŠ²s‰¬t†¦w‚žvy“pn‡gVb`COM4@>^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^L6`N:aP<`Q>]P?ZN>YPAXPEXOH[RM_UTcWYeX_iYcl\fm]hlbclemolrtšx¶~†Ï„ŒßŠŽç‹‡ÞŠÙ¬‰É³½y’Í{ßyê†vÿnrÿbgùU\öLUöFPöBMó>Gð;Dæ5;á7:Û97Ò=7ËA6ÄB4»B1·?.©;,=/¯>0»G:ËRGÇH?¹6.º1)È91Í81Ó;0Ú<0Û;-Ù6%Ü6&à9'á40Û2-à=4ëOCãK=Ñ;,Ð8*àB6Þ7.ð>:é/0ò16÷4<ü8BÿNZÿKWý>Cò38â$&í/1ê,,ð22ç+*é0.ò::Ñæ37Ü-2ç9BïENÿYcôLYÔ?AÚADßCFá>CÞ9=Ü89Ø88Ó:5É83Â91½:2ÀA:ÍNHÖVSÐNNÆAB¯82µ:5ÏKGØNLãQRïYZêRQñYXÉ51Î>6ÑC9Ð@7Ó?5ÚA9àC<àA;í<Bê7=í8?õ>Cñ:?é58í=?øLJà93Ú70Ø4+Ü3,ã5.ì30ò21ô01ô04ô02ö01ö.0õ/.ñ0+ê3+à8-Ù@2Â6'µ6'²9.ÉWMî}yÿ“’û‰‰þ€‹ý{‡üoücwÿXqÿNmÿFhÿ?cþ8\ù=`íIdÙYhˆ25d<0SQ8TgG`}Ej‰Ps’Yt•\u˜^wby¡ey¢fw dv awŸavž`xŸ`zž`{Ÿa| by¢hz£g|¦fz§bz¨_z¨]|«]~_†²eŠµmŒ³rŠs†¦u€œstŽii_RaZDSL8G@^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;^M;_K2_M5aO9_P;\O>ZN@XPEXQKYQO^X\g`hnfsshysg{sg}tfnnzor…rw•v|¬y‚Ã~†×ƒŠåˆ‹ì’뛌ߞƒÆžt¢¡kƒ®mq¾vjÈ{iþllÿklÿfiÿ]`üQWöEMð;Bí5=è59ã68Ý98Õ>7ÎA7ÅC5¼C0¶A-¬8+´@3¯;.°;1ÇRHÓ]SÈNCº;2¾90Á7,Ì9/Ö>1Ý=1Ú6*Ü4'á7(á2-ã60ä=5åE9âF9ÜC3ÝA2á?2Û0&ì62ì0/ð-1ò-4ú7?ÿOYÿZdÿ[_ÿOSá.1ã03ß--÷EEè66Ü,,Û-.ë>@Û25Ù37ÿchÞ=CÊ*2Ê-4¾()Ô;=àAEÚ7:Ù37á8;Ü89Î..Ì43Í<9ÓHEÝSSì`c÷hnõdkî[e¿B<ÆE@å^[÷igÿopÿjjåKK×=;É4.Ñ>7ÕE<ÖC;Ó?5Ö<4Ø93Ø7/ö0=ò,9ó+6õ-8ò*5î+3õ8<þJKà3/Û4.Ø4+Ü4+â5.ê40ï4/ð3/ö/4ö/2÷/1ø-0ö..ñ0+ê3+â7-Û?2Å9*²3$±8-ÃNEî}yÿ’‘üŠŠÿ}‹ÿw…ùl|öatùUmÿHgÿ>bÿ8_þ4\õ@aâMcÂWap/+\A0XX>]lMbIl‰St’\u–_v™_xžcy¡ex buŸ`uŸ`u_vž_wž_zž`{Ÿa| by£d{¥f|¦dz¨`y§^y¨Z{ªZ}¬\€¬_…¯g‡®m‡ªp…¥sƒ t{•nrŠffvi[k^RbU_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<_N<`L1aM2`N6^O:[N>YOE[RMZTT_ZahbprmzuŒ{t“yr“zp“yo”ov’pyšt}¨w€·zƒÈ~…Õƒ‰á‹‹å”ã—ŠÒ™„¼¡ƒ§ª„“«~yŸl[ŽX>ÈH?ÕPIäVRìVUòRRôJMî=Cè38ì7<ç9;à;9Ø=8ÑA8ÈC4¿B0¹@-³9.ºA6«5+£.$¼J?Øh\×eZÊVI·=2¸6)¾4)Î:0Ù;0Ü5,ß3)ä6+á/+å61ã;2Ü:/Ü?0ãF7ãC3ß9+ß1&ê3-ð31ï-.î*.ô17ÿEJÿS[ÿ_dÿ\aâ9<â9<Õ+.ôJKâ89×//Û55Ì()Ë(+÷YZÛ?BÔ9=Ð7:· %Ã))Û=>åBEÝ49Ù,2Þ17Ú/5Í(,Ò37äKNöaeûhnùcl÷_kû_mý_nÒNIÔOJè]ZêVTçMMãGHÑ32Î31ÙA<àKDãPHßKAØA8×:3×50Õ2+ÿ,;þ+:ü(7ø%4÷'4û/:ÿ=CÿILà1.Ü3,Û4,Ü5,á4-ç4-ì5/ï4/ö/4÷/2ù.1ù-0ø..ò/+ë3+â7-Ù=0É;-³1#°7,¹D;ìyvÿþŠ‹ÿyŠþqõhxó`söTlüCcÿ7^ÿ3_ÿ3\óDcÒM^ JMb6+TE0W[@^kMc~Kk‡Tt‘[w•_x™`{ždz cvž`s›]s›\s›\tœ]v^wž_{Ÿa| by¡bz¤b|§b{¦_x¦[x§Yz©Y{ªZ~ª]ƒe…¬i†ªm‰§s‰¥u„s|•mv‡unmfwe_P=_P=_P=_P=_P=_P=_P=_P=^O<^O<^O<^O<^O<^O<^O<^O<cP2cO4aO7^O<[OA[RK^UV_Zakgvso†}z™‚~£|¥}w¥{u¥{t§pz«s}°w‚¸{ƒÁ~†Ç„‰Í‹ŽÓ“’Ô˜“Í ”«›¸¼¦³Ç®ªÅ¦”ªˆlmJ©?/¯A2¶@4ÄA9ØGBëMLñHKí?Aî;?ê:=å;;ß=:ØA:ÏA5Ç?1Á=.»;2¾?8¯4,¦1'ºJ>ÏcWÔh[ÔfYÁPB¹?2¹5)Ç7,Ô:0Ù5,ß2+ç6.ã0,ã4/â7/Ü8.à>1åC4â?0Þ4'æ4*é1)ò2/ð..ï-.ò14ô68ü?CðOTúY^éFKõRW×47ëFJÝ8<åBEÚ7:Î.0Ð15ãIKÑ8;Î8:¸#%Ñ<>Ü89ä;>ê=Aç6<â-4Þ)2â19ç<DñLSû^eÿksÿisú`l÷YhùXhûXkðgaèZVèWTØ@?Ï10Ô44Ó41áC@ãJDéRKèSLáJAØ?7Ø93Û81Ü71ý)8ÿ/>ÿ/>ý)7ÿ-:ÿ9CÿAHûABã1/ß4-Ü5,Ý5,á4-æ3,ì5/ð50÷.4ù.2ú.1ù-0ø..ò/+ë3+ã7-Ø:.Ì>0´2$±7,±<3çtqþŠŠþŠ‹ÿr†ýj}ñbtð]pôRjûBbÿ6`ÿ5aÿ8_ïKfÁN[z;6Y?.LH/TZ@]cIbzJj„TrŽ[v”^yšc{ždxžas›\p˜Yp˜Yq™Zq™Zt›\uœ]y_zž`x¡_y¢^z¥^y¤\x¤Wv¥Uw¦V{§X~ª]‚¬d„«h†¨l‡¥o†¢r€šmx‘gr„lk}ecu]_O?_O?_O?_O?_O?_O?_O?_O?^N>^N>^N>^N>^N>^N>^N>^N>eQ6cR8aP<]P@ZPG\TR_Zab^otrŠyx˜€¨ƒ°~~²yx±wv°xw³t}Âw€Ã}…Æ‚ˆÆ…ŠÂÀ—–¾ ¼¬§»¶¬´¾³¯È¸©Ð¿¥Õ¡ϼ”Dz‡·kS®\F¤G5©=0ÂH=áVQðVTòNOì?Aë=?è<<ä<;ß=:×=5Ï;1Ë8.¿82Á<5¹:3·>5ÀPDÅYMÅ]PÎgXÐdWÁM@º:-Å8.Ò91Ø3-ß2,è50æ40á2-à5-ã<3çC7æC4â:-à3%ê5*è-&ð0+ð.,ò21ò44ç.,è00áEIõY]öW\ÿpuåDJéHNÞ=Cü[aÿouÝ>Cÿ~‚ÿmqêQTÔ>@Å02Ñ<>øEIî9>ð7=ø=Fô6@è-8ö>Jÿ\hÿmwÿitÿdl÷]gú^kÿapÿ]nüWhî_YãOKâJGÕ74Ò0.Ù54Ó/.Ø95ßD?ãJDáJAÙ@8Ó6/Ö5-Ü71â94ð$0ý/<ÿ1=ø*6û/:ÿ>Eÿ>Cì44â3.Þ5.Ý6-Ý5,á3*è3,ï4/ò5/÷.4ù.2ú.1ù-0ø..ô.+í2+ä6-×9-Ï@2µ1$²6,°7/èpoþˆˆÿŠŒÿkƒücxð]pïZnôPiýAdÿ7aÿ8dý=bæPi°QW^2'RG3DH/PV<X\C_vHi€Rq‹[v’_z˜b|dxœ_r™Zn—Un—Un—Uo˜Vr™Xt›\uœ]y_vŸ[x¡[y£[w£Xv¢Uv¢Sw£Ty¥Vz¤X~¦_¦c¡d~œf{—frŒ_k‚V`uVZoPRgH\L<^N>`P@`P@_O?_O?_O?aQAbRB_O?]M=]M=aQAcSCbRB`P@eS;aP<_O?^QH[QOZSZeapsq‰xxšz|¥~€±€¹}¼xy¹rs¶no²qwÏv{̓̋Ȗ—䤾²±¹½¸²ÌŲÓÍÙЩÛУÛÑ ÝÑ¡ØÌšÒƔզŠ·gŸ_FËzgØte¾G?ØQMøbaìILç>Aä79æ9;ã99Ü75Ù61Û94È95À50ÇB;¹=5¾I?ÄXK·PAËeVÎdVÊYKÃG;Ä:/Í6-Ù6/â5/å3/á/-ß2,â70ä=4à<0Û8)Ý5(å8*å/$ê/(î.)ð0-ï20ë40è51æ40Ó8<åJNõY]ëOS×7?×6>ùX`ÿ~†ÿ~†ÿowÿgoÿipÿfjõ\_ïY[ô^`ÿRYÿCKü8Bü7A÷1>ï+9î/>ñ=IÿS_ÿ`kÿgpÿepþboÿbpÿ`oÿ[lìTOßFA×85×31Ù10×/.Ú21Ü86áD=ÜB:Ø?7Ö<4×90Û81á83ä84ô5=ó4;õ3;÷4<ø5;ó49ë33ã1/Þ3,Ý6-Þ7.à5+ä3+é2,ñ1,õ2.ø/5ø03ú/2ú.1ù//õ/,î3,å7.à@4Ë9,½7+®/&·<5ÒXWÿ˜šù~ÿhÿe|ö]rîRhòHeÿAeÿ9bÿ5`üJlÕRd‰==K. >>&?I.IO5]]EWlAcxMqˆZx’by–`t•\r–Xq˜Wl•Sm–Rn—So˜Vr™Xt›\uœ]uœ]tœVtWv Xw¡Wv¢Uv¢Uu¡Tt S{¥[{£\zŸ\u—Zn‹Uc}MXrCSj>AW1?U/<R,[K;^N>`P@`P@`P@_O?`P@aQAbRB`P@_O?`P@bRBcSCbRB`P@fVF_QD\OF_TRcZ_f`nmkƒwv˜wy¢{}°}¸x|»qt·lo¶ln¸oq»suÙ|}Ù‰ˆÔ˜—Ш§Æ¹¶½ÉƵÓÏ©Ý×£âÜžçßžæÞäÜžâÙ ÙÒœÑʖѼ¸€¦~dÄ‹wÉ}m¶VJÓ`Y÷qnîZZêJLä>@é<>ì>@è:;ã56á34Õ=:Ë73Ê?8¹6.·>3¼L@³I;Å^OÛp`ÒaSÄH<½5)Ä0&Ö5-Ý4-Ü/)â43å95å<7à<3Ü8.Ù5)Ý5(ã5*í6.ï4-î1+ë0+ç0,ã2,á4.Þ5.Ò9;×>AäIMóW[ü\dü\dþ]eÿ`kôR]ïMXñQ[ÿ_gÿjqÿflô[`ëRU÷07ó+5ô+5ù-9ó&5è/ç'6í7DüP\ÿ[dÿclÿemÿepÿdoý[hõP^åFBÞ<9Û64ß63á53Þ20Û2/Û62à>9Û>7Ö<2×:1Ú91ß82å95è96é9;ê7:ë7:î79î79ì57å31Þ3,Û4,Û7-Þ7.á6,å2+ì1*ó0,ø1.÷05÷03ú/2ù.1ù//õ/,î3,ç6.ß=2Ò>2Â8-µ2*·82ØZ[ÿ“õw{ÿa{ÿ^v÷WqöOkøFfý=bÿ:cú=cëLhºJVw<8F5#7=#9C(DH/UP<Tf>`rJnƒXw_v“]t“Zp”Vn•Tk’Ok”Pl•Qm–Ro˜Vr™Zsš[sš[tœVuWuŸWuŸUtžTržQqPq›Qn˜Pl”NhŒLbFXu?Nh8F]/@W+@W-@W-AX.YL<[N>^QA^QA^QA^QA_RB`SCaTD`SC_RB`SCaTDaTD`SC^QAbUM^QK[QPcYakesqm„vu•y{¤y{®y~¶w}»ns·ei°bf°jn¸rvÀ}zᇃᖔߩ§Ù¼¸ÏÍÊÃÝظçáêå¡ïéŸðêžíæžéá¢âÛ¤×Ï ËĘ´°“¦œ˜„k§„p¥p`œRG»]UÞmi÷usð^_çHLæ@Dí@Dí=@ë7:ç36Ü>;Ô;6ÔA:Â70·7.µ?3=/µG8Új\Þj[×\MÊB6Å2(Ñ4+Ú6-Ú1*Þ44éA>ìGCà=6Õ2)Õ1'Ú2'Þ0%è3*é1)ç.)æ/)ã2,â7/á=4âA7Ã-,Ê43ÜCEðVXú^bùYaóS]òP[èFQêHSðNYü\fÿmvÿmtôY_ÜAGó*2õ,4ý1<ÿ1>÷*9ï&6ö6EÿJX÷ISõOY÷W_ü_fÿdkÿai÷Q[éBJÞ95Þ63ã75é<8ë<9ç85â51Ý60Ý:3Ù;2Ö90×90Û81á83ç:6ì:8à;9â:9ã99ç98è88å84à40Ú3+Ú6,Ú8-Ü8,á6,å3)ì/)õ/,ú0.ô15õ13ø02ù.1÷//ó0,î3,ç6.Ý9/ÛD9Æ9/»4.´0,â`bÿƒˆônuÿ_zþWsúPmþLlýDfø8_ö9_ðGf×ReDJi=4K@,7@%8@(ED/LE2N^9YkEg|Qr‰[tZqUmRkMi‘Kh‘Ki’Lk”Pm–To–Up—Xq—ZuWuWtœUrœTpšRm—Mk•Kj”LdGaˆE\~AUt;Li3E_/AX*>U'B\/E_2Ic6WJ:ZM=\O?^QA]P@^QA_RBaTD`SC`SC`SCaTDaTD`SC_RB]P@YNR[PVbXcjcsqm†vu•xz£z|w|´sy·mr¶bi±]cag±lr¾v|È‹‡æ”‘褡淴áÇÄ×ÕÒËáÞ¿èå²ëç¨ïê¦îé¥éã¥ãܨÛÒ§Ëß¾µ–Ÿ§˜š…‰v—‚q—se™cW³i`Ïrmû‹‰õutë[[çKNéCGî?Dî;?í8=ß:8Ý;8ßD?ÓC;Ã:0¹;/¯7)¦2#¾J;ÚbRék]ÛSGÉ9.Í3)Ö5+Ø4+Ù33ñMLý[XíKFÙ80Ö3*Û4+Þ2(à-&á,%á,%ß,'Ý0)Ú6-Ø<0×?2À0(Ä4,Î:6ÙCBßFHàEKäGPìLVñQ]öVbøXdû[gÿgpÿmuôY_Ø=Cñ.2ò-4ô-4ò*4í%2ì(6û<KÿS_í?IçBIèGMòQVþ[`ÿX]ôGMä5<á51ä73ê;8ó?>ô@?ð<;ç85à72Ü92Ø:1×90Ù80Ü71ã73ê86ì87Þ<9ß;9â:7ä;8æ:8ä84Þ5.Ø4+Ù7,Ú8-Ü8,á7*å3)ì/)ô/)ù/+ó25ô23õ12÷/1÷//ó0,î3,ç6.Ü8.ßG<É90¾3.´-*îfjÿy€ójrÿ`{ýTqþKkÿFjÿ=cö3[î<^äPhÄXe…DBbE7WP=DH1@D-JH3JB/IW4Sc?btLmƒUp‹XoŒRkŽNiŽKgIg‘Ih‘Kj“Mk”Pm–To–Wp–YtœVs›Uq™Sn—Qj”Lg‘IeŽHdG`‡D]AWy=Rq8Mi6Lf6Ne7Pe:Lf6Oi9Sm=UH8WJ:[N>\O?]P@]P@_RBaTD_RB`SCaTDaTD`SC_RB_RB_RBTLY`Xgnf{tp‰xt•xw¡xz«y{´sy·jqµ`g¯\b¬`f°kq»v|Æ~„Ε”äžžèé½¼æËÉßÕÓÔÝÜÊãàÁåâ¹çã¶æß³àسÚÑ´ÐůÀ´¤¯¥™”œ‰ˆ†y‰}qwk›sk§ngºoi扄î~ósróedòVYòLNðCEî>Aå95â:7äB=ÞE?Ì<3Æ=3ÂB51%¬1"ÇI;ÛYKÖN@Ì=/Î8*Ò6*Ñ3'Ö34õUUÿkhú]XâE>Ü;3ß;2ã80â4-ä1,â1+Ý0)Ö/'Ì0$Æ/$Â0#Ã9,À4'Á3)Ë:5×CAÛEGÛBGÛ@HàDOìOZóVaòVaú^iÿgoóYaÝDIð88í55ï26ð18ò3;÷9CÿHSÿVaä6?Ý4;Ý7;êAFøKOüIMô;@ê05å61ë95ñ;8ó;9ó;9ð:7é73â70ß;2Ü;1Ù;2Û:2ß82ä73è64ì65á<8ã;8ä;8è:9è;7æ95á6/Û4,Ú8-Û9,Ý9-á7*å3)ë0'ò/)÷0+ð45ñ33ô22ô01ö0/ò1,î3,ç6.Þ7.ÞD:Ê7/¿1-¾21÷jpÿrzøhrû]vúPmÿCfÿ<dÿ7cù6^éDbØ[m©W[uF>_L;_ZFQP;KI4PI6MB0DR1M[8[kFf|Nm…SmŠPlŒMhHfŽGgHg‘Ii’Lj“Ol•Sn•Vo•Xt™Vq˜Un–Pj’LfIcŒFaŠF_ˆDZ@X|?St;Pn8Pj:Tk=XmB[pEUp=Vq>Wr?RE5UH8XK;ZM=[N>\O?^QA`SC`SCaTDaTDaTD`SC`SCbUEdWG]Ulje|yu}yœzy£wyªvx±sw¶lqµcj²[c¬]e®hp¹w}LjІՙܡ¦à¯²å»¿åÆÇãÍÏÞÔÓØ×ÖÑÙ×ËÙÕÉ×ÑÅÒÉÂÌÂÀŹ»´§®¥˜¡‡Œ†xzuwvqulg~mfŒoib[œa[¾sm×zuï{ü|yÿrpýccöSTîHHñB=ê>:ã<6àA;Ñ:1ÒD:ÝTJÂ>2¸6)¼:,Â=.È?/ÏA3×C5×?1Ñ8*Ð23èLMú_]ñXSßD?Ø;4Û81à70æ92ç92ç92â92Ú9/Ñ9.È9+Ä8)®)¸3"È@2ÓI>ÒE>Ë;:Ì7;Ð9@Ï8AâHTïUaðYbõ^g÷`iêU[ØCIè?:ë?;ñAAúGJÿMRÿQYÿT]ÿV^á4:Ú/5Ú03ç7:ô=Aù:?ø48÷/2é61ï95ð95í41í1/ê20ç40á4.ã<4à=4Þ=3Þ;2à93ä73è43ë33æ:8ç98ê88ì89ì87é75ã4/Ü4+Û7-Û9,Ý9-ß7*ã2(è0&ï0(õ0*î45ð43ó32ó11ô1/ò1,î3,è5.à90Ù<3Ì70Á0-ÑAAÿnuýku÷coïSkóIfÿ;cÿ1`ÿ3bÿ<dçMgÇ]i†IFeH:YN<\WCXQ>RJ7QF4MB0AL.GU4Sc>`rHgMj‡MjŠKh‹GeFfŽGfHgJi’Nk”Rl”Um“Vq–So”Qj‘NgŽKcŒH`‰E_ˆF_†G\‚E[~DWxAVr?Uo?YpB]rG_tKYtAYtAXs@NB2QE5UI9WK;XL<ZN>\P@^RBaUEbVFbVFaUE_SCaUEfZJj^Nkg‚up|x›{y¡wx¨vwpt±jo±ah®^f¯_g°em¶pxÁ~…͉ؖܙ¡Ï ¨Öª±Û´¹ßº¿ß¾ÂßÂÄÝÅÆÛÆÃÖÅÁÒÁºÌ¼³Æ»¯Å´¨¾¦˜±—‰¢†‡‰qqstpqogevhe†nj`Y”e_š[T·g`×tnî{vÿ{wÿwsÿhfù[ZÿQKöGBè=6èC=Ø;4ÛG=ê\RÅ;0Ä<0½7+¾6(Ç>.ÑD3ÔC2ÔA1×A0Ò8:Ø>@ÜDCÛC@Ö=8Ó91Ø7/Þ7/å:3æ93å:3â;3Û>5ÕA5ÑE6ÌG8¬.¼;%ÌK8ÑL=Æ=3»0+¿10Ë8>ÕBJáKVëU`ðZeð]eìYaßLRÐ?DÑ4+Ö8/ß<7ê@@ñDFôEJñBIî?Fâ5;ß26ã36ï8<õ79ù14þ-2ÿ.4ë40ð95ò64ì0.è,*è/,è2.á2-ä=5à=4ß>4ß<3ã:5ç85ì65í55ì57ì57í57ï56ï56ì42å2.Þ1*Þ7.Ü:-Ý:+Þ8*á3(ç1&í1(ò1*í55î53ñ42ó11ó1/ò1,î3,è5.ã;2Ò4+Ò;4Æ20çUVÿpxùcnñ[gãKbóEfÿ7bÿ+]ÿ1bÿ@hÞKeRYd8/ZI7SN:UN;[P>VI8M@0MA1=H*CN.K[6Xj@ayGf‚HhˆIgŠFeŠDc‹BcEeŽHgLh‘Oi‘Rj’Tn“Pl‘NhLd‹Jb‰H_ˆF_‡H`‡H_…H_‚H]~I]yH]wH`wKcxOdyP[vA[vAZu@MA1PD4SG7VJ:WK;YM=[O?]QAcWGdXHdXHbVFaUEcWGj^NpdTvq‘yu˜xvtsŸrr¤su®lp¯bg«Za©^f¯em¸lt½u}ƈДڕœâš¤ÈŸ©Í¦°Ô¬´Ù°µÛ±µÚ²´ÚµµÛ³±Ö²®Ñ®¦Ë«¡ÄªžÂ¦˜»™‹®‹{Ÿ|y€dbgidhbY\g[[xeauXRe]ˆOHŸVO»aY×jcóvpÿ}zÿwuÿljÿZUÿPJñD>ôMGàB9ßF>êWOº,"¼2'½5'Ç=0ÑE6Ë>-Á2!É8%ÙF4ÞDFÒ9;Ë32Ë62Ó;6×<7Û<6á<6æ;4å82à5.Ø4+Ï5+Ê8+Ä<.Â>/ÑU;ÅI/»='½;+Ã=2Ä;5Â65Â37ÜKRÞLVâOYåS]éWaæU\ÝLSÒCGÉ5)Ð8-Õ81Ú64Ý55ß58á4:ß28å8<å6;ì9=ö<?ú6:ú,0ÿ).ÿ.4ë4.ò94ô86í0.é,*ë/-ê40ã5.ä;4à=4à=4á=4ä;4è96í76ï56í36î15ï05ð24ñ35ì31æ0-Ý/(ß7.Ý9-Ý:+Þ8*à4&æ1&ì1(ñ2*ì65í53ð42ò21ó1/ñ1,î3,è5.å=4Í/&×>8É53øceÿpyô\hêR_ÞHaõGhÿ:eÿ*]ÿ/aÿ@hÓE]–AFQ-!UJ8PN9OH5\O>YH8L<-NB2:D)?J*GU2Rd:]sBcEf†GeˆDcˆBa‰@a‹CcŒFeŽJfMgPhRlPkOfLcŠIaˆG_‡H_‡H`†I\‚G]€H]~I`|Ka{Ld{Of{Rg|S]xC^yD_zEAC8CE:IF=OH@RGAWI@]M>`O=aQ:aS9`T>_VGaZTfaeljwro€wožzt¢~wªzu«ro¨hf¥a`¢^^¦bahg·qoÃ|xÏ…€Ú‰ã—í–ó¢žÙ£ŸÚ¥¡Ü¦¢Ý§¡Ý¦¡Û¥ Ú¦žÙ¥Ö£œÒ¢™Ð¡˜Íž–É—ÁŒ‚´ƒy«mrvghlc_`e[ZlYUtUP€ULVK–RG¨ZN²ZP½\SÔmdç|tò…~üˆðxyõyyæabÜPQ×EEñYVÎ61È1(Ç5(Ä7&Â6%Ã8%Æ9'Ì:+Ð<.Õ?1Ô8+Ö=/Ø?1Ó;-Í5'Í4&Ø:.ã?5à90á90Þ7.×7+Ï7)È;)Ä@+ÁC,Ä;3È?7ÍD<ÏF>ÌC;Å<4»2*µ,$Ä>5ÍG>×QHÞXOá[RßYPÖPGËE<Ì<!Ò<$Û:(å4,ë--ó'0÷%2û$6ÿ(@ÿ'@ÿ'Bÿ&Bÿ%Bÿ$Bÿ!Aÿ!Aÿ:ÿ"<ÿ'>ÿ)<ö*6í.6ç48å;;Ü94Ü:5Ý<4à;5ã:5æ93é73é62ì25ì44ë54è64ä71ß7.Ú6,Ø6)Û9*Û:(Û:&Ü9&ß8%á8%â7#â7#í41ï4/ñ4.ó3.ó4,ï5)ê6(å8*à:.Ø7/×96Ý>BÿlyÿasþRlöGdÿIjû5Yÿ5]ÿ;eú=cãPj©LVT)":1 9<)EF4RL>PH;BC39E15K4FGHJ#MQ,U\:\jGcuOf}QeNc…Hb‡BaŠ>cŒ@eDjIl‘Nm‘Qj’IiFgŒFf‹Ff‹Hf‰Ic…Ic‚GdƒJdIc~Gc~Gd€FfFe~Dc|BX}8[€;^ƒ><?4?A6FC<JE?OF?TG>[K>^M;`O;`Q:^S?^WGa\Vhcinlyrqƒtnšvpžtp¢pm¢gfŸaaŸ]^Ÿ\\¤ed°kjºtrÅ}{φ‚ÙŽˆà”Žè˜’ì›—Òœ˜Ó™Öžš×™Ö—Õœ–Ò•Ñž–Ñœ”Íœ“Ê›’Ç™‘Ä“‰»ˆ®€w¦tmtkdkf]`e[YiZSoWMzVJŠVI›UK°\RºYRÁXRÓf_Þqjãvoêwý‡…ÿˆ‡÷uuðfdäTSíYUÇ2+Â/%Æ7)Ã7&À7%Á8%Ä9&É:*Ï;-Ó=/Ö8,Õ9,Ó:,Ò:,Ñ9+Ñ9+Ô8+Ø8,ß;1à90Ü8.Ø8,Ð8*Ç:(¿;&¼;%¿4-Á80Æ=5É@8ÊA9È?7Å<4Â91¾5-Ç>6ÑH@ØOGÚQI×NFÌC;À7/Ê8Ñ9"Û8)å4,ï./ö*3û(7ÿ(:ÿ+Bÿ*Bÿ)Aÿ&Aÿ$@ÿ >ÿ=ÿ<ÿ8ÿ9ÿ$;ÿ);÷-9ï29ê7;å;;Ü94Ü:5Ý;6à;5ã:5æ93é73é62ì25í36ë54è64ä71ß7.Ü5,Ø6)Û9*Û:(Û:&Ü9&Þ9%á8%â7#â7#é4-ê3-ì4,ì4*ì4*ë5(æ6)á7*Þ</Ó5,Ó52óTYÿesÿ[põGbüKhÿ@dÿ:`ÿ1[ÿ7aùImÐJb‰8?O,&=7'3:(:=,C@1F@0@?-;C.:H1@CKP'\b<eoLhvRezSd~Qd‚LaƒFa†@aŠ>cŒ@eDiŽHkMlPl’IjGhGf‹Ff‹Hf‰Id†JdƒHe„KdIc€HdHeGeGfEd}C\<_„?b‡B69.:<1??7E@:KB=OE<VH=[K<^O<\O<\TA_WLc^[helol}sq†sm™qk™jg–c`•\[”ZZ˜\]ž\_¦hjµno¿wxÊÒ†„Ø‹‡ÜŠà’Œâ“’Γ’Γ‘ЕДѓŽÐ“ŒÏ’‹Î•ŒÍ“‹Ç“‹Ä”‹À“‹¼Œ„³ƒz¥{r€dpt_fiZ]c\Vc\ReYKqWH„TF£ZQ¾_YË[YÐXWÛcbßliÝpkàwqûŠ†ÿŠ†ÿ…ÿ|yømhï`ZÄ4+À2&Ä8)Á:'¾:%À9%Â9&Ç:)Ì:+Î:,Ù9-Ó5)Î5'Ð8*Ô>/Ô>/Î6(Ë/"Ú:.Û7-Ù7,Ö8,Ñ9+É:)Â9&¼8#¾4*À6,Â8.Ä:0Ç=3Ê@6ËA7ÌB8Å;1Ê@6ÏE;ÐF<ÒH>ÑG=Ê@6Â8.Í6!Ô7&ß7,é3/ñ03ø,5ý*9ÿ*<ü'=ü'=û%=ù#;û!:ü8ü7þ7ÿ6ÿ6ÿ#8ý*;ù1<ñ6=é9;ã;:Ü86Ü:5Þ;6à;5ã:5ç85é73é62ï26î47í55ê65å61ß6/Ü5,×5(Ù9)Ù9)Ú9'Û8%Ý8%Þ7$à7$à7$â4+â4)å4*å5(ã6(â7&Þ7'Û8)Ý=1Ï2+×98ÿltÿ]nþPið=[ÿJlÿ5\ÿ=eü4[ô<`êTq«?Oa#(H1+79+-8'18&:;)B=*A<(@>)@B*?GY`4s~T€Œfw‡bi~Ub|MaI`ƒC`…?aŠ>cŒ@hŽEjJkMlPn”Kk‘HhGgŒGgŒIh‹KfˆKf…Je„Ke‚Jc€HeGf‚Hf‚GeFcDb‡BeŠEhH06*58-;<4A>9G@:KB;RE<VJ<XL<YN<YRB^WOc_`igrom‚ppˆpm˜jg”`^WW‹TUŽWY–\_¢ad«ko¹qtÃ{|Ì‚ƒÕˆ†ÙŠˆÛŒ‰ÚŠÛÍŽŽÌÎŽŒÎŠÑŽˆÐ‡Ï…Άʎ…ÆŽ†Á‡¼‡¶‰‚«€xxq“‹[i}WbmWYa]T\`Q\^IhYF}SCŸULÂZYÔW[ÝV\çbeçkkàplâysê}vì{uýƒ~ÿ†€ÿ{õkaÉ<2Â9)Â;(¿:'¾<&½;%Á:&Å:'È9)Ë9*Û9.Ö6*Ð4'Î8)Ñ>.Ð?.Ë8(Ç/!Ò6)Ó5)Ô4(Ò6)Ñ9+Í<+È=*Ä;(Æ9/Æ9/Æ9/Æ9/Ç:0È;1É<2Ê=3ÒE;ÒE;ÐB8Ë=3Ë=3ÏA7ÏA7Ë=3Ñ4#Ø6)â5.ë31ò/5÷+6û(7ü)<ù&9÷&;÷&;ø'<û&<ý%<ÿ$:ÿ#:ÿ!7ÿ"7ü%7ù-9÷5>ñ:?ç9:à87Ü86Ü:5Þ;6à;5å95ç85ê65ë54ñ27ð37î66ê65æ72á6/Ü5,×5(Ø8*Ø8(Ø9&Ù8&Ú7$Ü7$Ý6#Ý6#Ù6'Ú7(Û8'Ü9(Ü9(Û:(×:'Ö:+Õ;/Î3.éIKÿo{ÿVjøDaö=_ÿCiÿ/[ÿ7`û=cëLlÆOe€0=G >3--3'+8'2=,=B.B@+C;$G="MA'R_*q}MŸp—¨|ƒ˜mj„W_{J]~E_ƒCa†@b‹?fCk‘Hl‘Lm‘Qm‘So•Ll’IiŽHhHhJiŒLhŠMiˆMf…LdƒJdGe‚Hf„Hh„If‚EeDf‹FiŽIl‘L-3'17-7:3<;6B=9G?<MD=QG=SI=SK>UOCZUQa_dhgukkƒllˆjg’baXV‡PP†QQXYš`cªfj´orÁuxÉ|Ѓ„Ö†‡×‰ˆØŠ‰×Œ‰ØŒŒÌ‹‹ËŠ‰Í‰‡Ð‰…ш„ÑŠƒÓ‰‚ÐŒ„Ï‹„È…Á†º†²‡¥}x–vpŠ“ScƒQ\qUT`^RVcOTbH_]DvUB’LB¼RRÖPWàPYé\dèejâljâwqâvláphõ~vÿ‚{ÿ‡~ôkaÉ?2À8(À;(¿='¾='¿='Â;'Å:'Ç8(Ê8)Ü8/Ú7.Ô8,Ï9+Ê;+È;*Ç:)É7(Ï9+Ñ7+Ô8,Ó7+Ï7*Ì8*Ë<,Ë>-É=0Ê<0Ê<0É;/È:.Æ8,Å7+Å5*Ð@5Ð@5Í=2Ë8.Ë8.Î;1Í:0É6,Ò.$Ù0)ä2.î23ô/8ù-9û+;ü+>ü-?û.?ú0@ü/@þ/Aÿ.?ÿ-?ÿ->ÿ)9ý)8ø*7õ0:ó6=ì9=ã77Ú53Ü86Ü:5Þ;6â:7å95ç85ê65ë54ò38ñ48ï56í76æ74á6/Ú6,×5*Ö9*Ö9*Ö9(Ø9&Ø9&Ù8&Ú7$Ú7$Ô9%Õ:&Ô<'Õ=(Ô=(Ô=(Ó>*Ó=.Ð8-Ù;8ÿ^eÿaqÿPi÷;\ÿAiû6aÿ/]ÿ.WøIjÛYq•>NX'-?+,730*1)-9-5@/:B+<<"B;VG(iV6v‡P£lª¾‹¨¾Ž¥wo‹[aK^F`…BcˆBeŽBj“Go•Lp•Po“So“Uo•Ll‘KiŽHgŒGiŒJiŒLi‹NhŠNf…Je„IdƒHfƒIg…Ih†Hg…Gf„FgIi‘Kl”N*2%.4*470894<;7B=:HA;KD<NH<NH<OKBUTR_^ffewggfg†ba[YŠQQ…NO‡RS“[^£ei³lo¾sxÊx}ÑÖƒ…؆‡Ù†‡×ˆ‡Õ‰ˆÔ‡ˆÈ†‡È……Ë…ƒÎ„Ð…€Ô…€Ô‡Ò„ÓŒ…Ë…Á…¸‹…«„{vŒrn•N\ƒNTqTPa_PWgMReI\`EsXCOCºTRÔSXàPZëYcé`gähjçqqê{rärhö}tòsjþxmæ\QÄ:-¾5#À<'À>(À>(Á=(Ä;(È;)Ì9)Î8*Ú3+Ù6-Ö:.Î:,Ç:)Â9'Ä;)É=,Í>.Ö@2ÙA4×=1Ï7*Ê4&Ê8)Ë<,È:,È:,É;-Ê;-Ê;-È9+È6)Ç5(Ê6*Ï;/Ò>2Õ>3Ö?4Õ>3Î7,Å.#Õ)%Ü-*ç02ñ29ø0;ü/>þ/?ý0Aú0@÷1@ö2@ö0=÷/:ù-9ú,8ü*7ý/<ù/;õ0:ñ2:í6;æ68ß55Ù42Ü86Ý:5ß:6â:7æ87é77ê67ë54õ49ó49ð69í76æ74ß6/Ú6-Ö6*Õ7+Ô8)Ô8)Ô9'Õ8'Õ8%×8%×8%Ï:$Î<%Î>&Í?'ÍA(ÍA*Î@,Ï=.Ð71éIKÿgrÿOdÿHfû7]ÿAmý/_ÿ1^ø1XåOj¹Wfh39@*,?994443524925>-2<#29ECl`8Ž}R™±u©Á‡µÎ—È•’®}v”be†Q_ƒF`…Bc‰@gDo•Jr˜Or—Rq•Up”Vo•Ll‘KhGf‹Fh‹IiŒLi‹Ni‹Og†Kf…Je„If…IhˆIjˆJi‡Gg…EhJk“Mn–P(0#*2'/4-350664<87@<9C>8IE<HE<KHCQQQ[[eabvab~`a€_]ŽZXŠTTŠTT\] gi´psÄtyÍ{Ø~‚Û…Þ„†Ýƒ…؃„Ö…„Ò†…Óƒ‡Ç„…ȃƒË‚̓ӄ€Õ†€Øˆ€Õ„Õ‹„Ê‹ƒ¾‹ƒ²ˆ‚¤|’uqlirŒOVNQpUNc`OYgMVfI]dEo]EˆTF²[TÌXYÙSZæYaé\dèaeðknñ|rìsj÷xoÞYPå[QÒD8Ã5'Æ:)Ã:'Ã<(Ä='Æ=*É<*Í:*Ð8*Ó7+Ö/'Õ2)Ò8,Í;,Å<*À;(À;(Ã<)Ç;*ÕC4áK=ßG:Ô</Ê4&É5'Í;,È9)È9)È9)È9)Ê8)Ê8)Ë7)Ë7)Í7)Ó;.×?2Ù?3Ú@4ÝA5×;/Ï3'Þ..å12î49÷5>û3>ú0>ú0@ø/?ò.<ï/<í/9í07í.5ï,2ò+2ò)/õ1;õ3<ò5;ì59ç47á55Þ65Û75Ü86Ý97ß:6ã:7æ87é77ê67ë46ö5:ô5:ñ7:î87æ74à72Ù6-Ô6+Ñ8*Ð8*Ð9(Ð9(Ð9(Ñ8&Ñ8&Ó8&È:"Ç;"È>$Ç?%ÇA(Ç@*Ê>-Î;1Õ:6üU\ÿ_oÿGcÿ>bÿ8cÿ6gÿ0cÿ4\òCbÈMa…BIL44:97<<>948>58<7379+3="8DS[,ƒPª£o«Èˆ¯ËŽ¯Ì’¦Ã‘¯}{™ggˆQ^‚E^ƒ@c‰@iDo•Js™Ps˜Sq•Uo“Un“MkJgŒGeŠEgŠHh‹Ki‹Ni‹NfˆLd†Id†Ig‡Hi‰JjŠIi‰FhˆEi“Kl–No™Q&.!(0%-2+130333756:97>;6GD=DD<GFAOOQZZd_`t^_{\]|`^\ZŒYX‘\\œgg¯qrÂz|Ó}܄ゅ䃆ㄅႄۂՂ҃‚ЄˆÈƒ†É„„̃‚Î…Õ†‚׈‚Ø‹ƒØ…ÒŒƒÆ‹‚¹‰‚«…›xˆsntjfgSPuRLjWIe`MafO\gI`cFn`FxR?[M·ZSÆRRÚUZåV\ëX`ö`iótkïof÷qhÑD;ÔA9Å1%È4&ÔC2Ç9%Ç:&È;'Ë=)Î;+Ó:,Ø8,Ù7,Ð,#Ð/%Î6)Ë<,Ç@-Á>*½<'»8$¾5#ÑB2ãOAäN@ØB4Í7)Ë7)Ð>/Ê;+É:*Ç8(È6'È6'Ê6(Î8*Ð8+Ó;.Õ;/Õ9-Ó5*Õ7,Ü;1Ý<2Ú9/ë7:ñ8=÷:Aü8Bü4A÷.>ò,;ï,:í/;é19è38é58í57ñ48ô36ö45î49ï6;í9<é69â45Ý33Ý86ß;9Ü86Þ97á98å99æ89é69ê67ë46ö5:ô5:ñ7:î79ç85ß82Ø7/Ó7+Ð8+Í9+Í:*Ì;*Í:*Í:*Í:(Ï9(Ä: Â: Ã=$Á?%Â@(Ä@+É=.Í81ß<?ÿ[hÿQhÿHhÿ7]ÿ<jü,]ÿ7iì;XéYp§LUX00?<5<E@99;B3:G08F21?9+<E(DW*at=Žœ_²»|®ÌŒ«É‹¥Ä‰œº„Ž¬zy™gf‡PZ|@]‚?a‡>hŽCo•Jr˜Or—Rp”Tn’To“MkIgŠFeˆFf‰Gh‹Ki‹Ni‹NfˆKe‡Jd‡GeˆHgŠHh‹Gh‹GfŠDj”Lm—OpšR(0!'/"(-&+-*.0/333775:94==5?@8DE?JLKQQYVWiZ\s]^|YW†[Y‹^]–ee¥nn¸wxÊ€Ú„„䊌ðŠŒðŠŠì†‡ä‚‚Ü€Ô‚€Óƒ‚Ò€„ĄǃƒÉ„„ΆƒÒˆƒÕ‹ƒÖŒƒÒŠ€ÇŠ€½‰±…~ €xwpxkeec^XpZMm[Mi\Kf^Kd_IcaHfbGl`FlR;„UA£^O¿aYÑYXßPTñQ[ÿXbôkcæYRÔD<Î70Ñ7/×;/Ø</Ô;+Ï9(Í:(Í:(Ð:)Ô8)Ù7,Ü5,ß4,Ð/'Ï2)Ì8,Ê>/Å@/Á@-¾=*¼9'Â9)¾0"êVJáJ?Å.#Ñ=1Î</Ç8*Ê;*É:)È9(É8'É6&É6&Ë5&Ì4&Ð7)×;.Ü>2Ü<0Ù7,Û7-â>4éE;øAFó8?ð3:ö4?ö2>ñ-;ï,:í2=ì7@æ5;ã68å78é99ð:9ñ86ò65ï==î<<ê:<æ89á77ß76Ü75Ü75Þ97á98ã99æ::é9;ì9<í9<ï8<÷6;ô5:ñ7:í9:è:9à;5×90Ï7,Ë7+È9)Ç:)Ç:)Ç:)Ç:)È;*È;)Á9!Ä>%½;#µ5»:$ÈE3Í@6Ê0.ÿ^eÿVgÿHcÿ;\ú0Xø/[ý5cÿ<jã\m¯EOo33G6.9C8:E==9:B+3P-4N00D7'CJ)Wo=}›_œ¹v«Å~«ËŒŸ¾‚˜·~”²~‚ nf„RXvBY{?]€>c‡?iDn”Im•Ll”Nk’Qj‘RjŽHfŠDc†Bc†Df‰Gh‹Kg‰LdˆJg‹MhŒNg‹Kf‹HeŠEf‹EjIm“Jp›SrUtŸW*0")/#).'+-(-/.222553782;<4>@5BC;HJGOPTSUaXYm[[s\Z‚^]‰da–kj¦us¼}Ї‡á‹‹íŒòŒ‹ñ‰‰í…„ ڀ~Ҁσ€Ï…†Æ†‡È‡ˆË‰ˆÎ‹‡ÑŒ†Ð…ÎŽ„ÉŠ€½‰³†{£‚x‘{s€tknkd^e\SbaLb`Ke^Kh]Ii\Ij^Hk_Gm_EraG{]CŽ[Fª[LÆWPàQS÷PXÿS`ìWQãKFÛ>9×50Ú5/Ý90Ü8,Ø8*Ó8&Ñ8&Ñ8&Ô8)×7)Ü5,à3,ã2,Ë1'Ë4)È9+Æ=-ÄA/Á@-¾=*¾9(Â9)Ë<.åQEÜH<È4(Ì:-È:,Á5&Ê=+Ê=+Ê;*Ì;*Ë:)Î8)Ï7)Ï6(Ó7*Ö8,Ù7,×3)Õ1'Ø1(ß7.å=4ûBHò7>í07ï/:ò0;î.;ì1<ê6?ã6<Ü36×32ß:8îEB÷JFøEAõ?<è:9æ:8å97â96á85à85á98á98à87â88å99ç9:é9;ì9<í8=ì7<ô5:ò59î68ê88æ:8Ý:5Ó91Ë7-Æ8*Ã:*Â:*À;*À;*Á<+Á<+Á<+½9"Á?)¹;$²5¸;'À</É:2Ø<=ÿ]iÿOdÿ@[ü6Yù5[ø:`ö=fô@g¡EJ„>>];2@>/3A05?4E=:X;?T-0X51ZI7bjEu[Š±pšÄ|žÈ|š¹}š¹€™·ƒ©yr`YuESq?\{B_>b†>iCm“Fl”Kk“Mh‘MhQhŒFeˆDc†Bc†DgŠHiŒLhŒNg‹MiOiMiŽKgŒGgŒGfŽGj’Im•LnœQoRr U-1"-1#,/&,.).0-11/34/45-9;0<>1@B5EH?KMLQRWUTbXWi\Yx^]fcŽpm¢zx¹…‚ÏŠáíŽñŽŒïŠˆé‡ƒá~Õ|Í}È}Ç…‡ÄˆˆÆŠŠÊŒŠËŒŠËŒ‡ÇŒ„À‹‚¹‰€¯†|¡€v‘{p€ujpod`i_Ue\MXeK]bKa_Jh[HmZIp[Hq\Go]EtcItZ?‚V= WDÅYMäTSûNTÿIUß@<Þ<9Ý84ß61á6/á6.Þ6+Ú7(Ö6&Ó8&Ó8&Õ8'Ø6)Ý5,á3,ä1,Ç5(Å6(Â9)Á<+Á@-Á@-À=+À8(Ã5'ÜJ=ÜE:ÕA5Î</Ä6(Ä;+¼7&Æ:)Ç:)Ç:)É:*Ê8)Ë7)Í5(Í3'Ö8-×6,Ö3*×3*Û2+ß6/å:3è=6ò;?í4:ë07î0:ð2<í3>ë7@ê=CÜ7;áAAìNK÷ZUüZUùRLïB>è62à72à74à74ß74à85á96ã;8ä::á77ä88æ89è8;é9<ë8<ì7<ì7<ò38î47ì57ç77â:7Ù:4Ï8/Ç7,Â8+¿:+½;+»<+»<+»<+»<+»<+º9$¾@*³9$°7$¶;+´2%Ã40îOTÿZiÿH`ù8Uó6Vó>]ñFfçHfÞEat?9e?6QA2@C04?.29)>5,O61K*#W:,j\Bˆ_«t”½{“ÃyÃv•²|œ¸…™µ…€šm\uKHa7Nh9[xB_}?c„?hŒBl’Ej“Gh’JgLeMe‰Cd‡Cc†BeˆFh‹IjŽNkOjŽNkOkOiMhJgHi‘Hl•Ip™Ms¡Vt¢Wv¤Y25$13&02'01+12-23.34.46+9;-;>-?B1DF9IJBNNNRQWTR]XVd\Zoda~nl”zw®„‚ÄŒ‰Ø‘Žå”‘ì“펋扅ڂÎ{Å}¿‚}¿ƒƒ¿……Á‰ˆÂŠÃ‹ˆ¿‹„¸‡®…}¦…{€vŽzm~sfmoa`k^Vi[NgZJVdJZbJa_JjZJpYIsYJtZIs]FqY?tU9†T;§ZFÌ\PæRNóEGù:AØ3/Ü41á51ä50ã5.â4+à6)Û8)Ö7$Ó8$Ñ8&Ô9'Ø6)Ý5*à3,ã2,Â8+¿7)»7(¼:*¿=-Â>/Ã;-Ä8+Æ3)ëTKÔ;3Ì8.ÑA6¾4'À<-½>-Ã7&Ä8'Æ9(Ç:)Ê8)Ë7)Ì6(Í3'Ó5*Ô3)Ö2)Û4,ã:3é>7ì?9ë>8è47ì59ï6;î5;ê2:æ39ä7=á<@óUVûc`ÿnjÿidóVQäA<ß61à3/Þ71Þ71Þ71ß82á85â96å97æ::å78æ89è8;é9<ë8<ë8<ë8<ë8<ñ48î68ê67æ87à;7Ö<4Ì9/Å8.½9,º;,¶;+µ<+´<+´<+³;*³;*³:'·@,8&¬9'±;-«+"Ã54ÿ_gÿSdýE]ó;Uí<XéG_áOdÐP_ÄKZcPAVI8JE2CF1AF0<?*<7#>1B2SE*okHŠ“f•¬t´t‹¹q‹½t¡¹‰¡¸Š§}l‚\K_:BV1Lc7Yq?_{@dƒ@i‹Ak‘Di’Fg‘IdJbLc†Bc†Bd‡CgŠHjMkOm‘Qn’Rj‘Pj‘Nj’Li‘Jg‘Gi“Gm—KqœMu¥Yv¦Zx¨\78(78*66,56056156167/68+;>-=@+@C.DG4IK=NNFQPNSQTVUSYY[a_lkius›€}´ˆ†ÈŒ‰Ö•’ã”äÞ‹‡Ó„Æ}º|µ€{±~¸‚º‡„»‰…¸Š„²†¨z›€xs‡znzrfjm_\j[Tk[NjZKjYI^bK_aKe^Kk[KpZLtZKw\Kz[G{WAƒS=—U?³XFÍSFÝF?å76ê01Û2-ß3/â5/å4.ã2*à2'ß5(Ü9(Ô7$Ð9$Ï:$Ñ:'Ô8)Ù7*Ý5,à3,½>-¹:)µ6%·8'½;+Â=.Ç;.É6,Ñ80ö\T×=5Ë4+ÏA5¸3$·:(¹@-Â9)Ã:*Æ:+È:,Ê;-Ì:-Ï8-Ñ7-Ñ3*Ò1)Ö1+Þ71ç;7ë>:è;7æ74é77ï;<ð<?ê69ä15ã6:èBFìNOÿxwÿqnða[ÛKCÐ83Ñ2.Ü73è?<à93à93ß82à72à72ã75å76å78æ68ç79è8;ë8<ë8<ë8>ê7=ê7=ð69î79ê7:ä::ß=:Ö=7Ë;2Ã;/¸9*´;*±<*¯<)=)¬<(¬<(¬<(«:(¬=*¤9'¥:*©9-«0)ËAAÿgr÷L^÷E[ðBYèF[ÛN^ÈT]´VW§SQSU@LN9JG4JE1FD-AA'>C#@G%MU.^g<xTŒ˜f‘¤m©nŽ²r’¼z µŒ’§€u†dRcC?O2BS3Oa;Vl=b{Be‚@iŠCjEi’Fe‘FbH`Ie…Bd‡CgŠFiŒJkŽNlPn’Ro“Sj‘Pk’Oj“Mi“Ki“Ik•InšKržOu¥Yv¦Zw§[?>,?=.==1==5=<7;<6;=2;=/?B-@D+CG,GI1KM8NOASPITQLYXDZ[M_^Zgepqo‡{y¡ƒ€·‡…ƌӋՊъ…ǃ€¹~zzw¤{u¡zw°|y°€|®~©‚~£y•|t‰zrvkqrffm`Zl[QlZNl[KmZKmZIg^Mi]Mi]Mj]Mn]Ms^My^M€[I“`OšWG§N@¹I=Æ@5Ð6.Ù0)á0*á51â5/ã4/â4-à2)ß3'Ü6&Ú;(Ð9$Í;$Ì<$Í<'Ñ:)Õ9*Ù7,Ü5,ºA.´;(¯6#°5#¹:)Â=.É;/Í6-Û>7ùZTåHAÐ90Ì@3¸6&«4 ±>)¿7'¿7'À7'Ã7(Å7)É7*Î7,Ð8-Ù<3Û:2Þ93å<7ê>:ê=9ç85ã41è96ë<9ê::è8:ì>@øORÿccÿqpùheàUPÈ=8¿2+È5.Ö;7à<:â:9à<3á:2á:4á83ã73ä65å55æ68é69é69ê7;ë8<ë8>è7=è7=ç6<ð8:ì8;è8:ã;:Ý>:Ó>7É<2À</´9)°;*¬;)ª;(©<(¦;'¥:&¥:&£<)Ÿ:(Ÿ<)ž:*¡7*´?8ÛTXüdpðK\ñH]ìI\ÝL[ÉRX±WVœ\R^OAP9FN9NI5K>+>467>O#Jh4gTt•\„›c‹™dŽ›f‘¢l•¬t•²x„”pn}\Q`C=J09F,BO3O_;Xi=czDgBkŠDk‘Dh’Fe‘F`G`Gf†Ci‰FjKlMlOkOm‘Ql“Rm”Qm”Qm–Pl–Lk—Jm™JržOu¢Qy¬]y¬]x«\CB0DB3DB6EB9CC;CC;BB8AD3CG0EH-GJ-JM0OO7RQ?TREURI[\:\\@\]Kaa_ihvrq{z¦~µ†‚¿ˆƒÃˆ„Á„¸{ysŸtp•qmŽol£rn¡tq wršwrtoƒskxrilmb^l_Vj\OlZLn[Lo\Kq\Kq\KrZNq[Nn\Nl_Ol`PqaQy_N†[KŸ_S¦OE°A8½:2È5-Ï1(Ø1(Ý5*â70á6/á4-á3*à4(ß5(Ù6%Ô9#Í;"Ê<$È>$Ê>'Í<'Ò;*Õ9,Ø8,·D/±<(¬5!4!¸9(Ä<.Ì9/Ï5-Ú83ñNIòSMÙB9ÌB5½@.¥2¬?(À;,Á9+À8*À6)Å7+É9.Ï;1Ô;3áD=ãA<ä?;ç>;é=;é;:è88ç77æ93æ95å84é;:ôJJÿ\[ÿdc÷caË=9¿82»4.Ã81ÓB=ÞE@ß=;Ù42â;3â;3â92ä84å84æ66é77é77ê69ë6;ë6;ë8<ë8>è7=è7=ç6<í68ê69æ89à;9Û>9Ñ>6Æ<1¾<.²8)®;)ª;(¦;'¤;&¡;%¡:' 9&ž?-”7%š=,—:)˜3'ÂQKíkmï\fïN^ìI\àHWÎJU·SS¡]RŒfQ‚jP=S<CL7JB/L7$F5FH!Tq;c–Txµo€µo‚¦f~‘Y…ŒX–cŒ–d|YXeGGT89E-8A,:C.?I0JX7Wh>g{Fh‚Cl‹Ek‘Di“Gc‘Fa‘G^Gi‰FlŒImNn‘OlOjŽNkOk’Qp—Tp™SpšRo›Po›NqNv£Rw¦Uz^z^y¬]GD3HE6HF9HE<GG?GG?FF:FG5GI1HK.JM.LO0QQ7SR=VSDWSG[\4Z\7[[C\\Rcbhmkusšzx©~{´€|·‚¸€|¯zw¢so”mj‰kf„gb˜hd—lf”lh‹lhleuibij`^g]Th\NjZJl[Io\Ks^Ms^Ms\LzWQvYQp\Ql`PkbQpcR{aPŠ\OžUL§D>±61Á3/Î5/Ö5+Ù7*Û8)ß6/ß4-à3,à4*â6*Þ7'Ø7%Ï7 Ì<"È>"Æ>$Ç?'Ê>'Ï<*Ó:,Õ9,µE/='¨3¬3 ·8'Å;.Ì9/Ò5.Ò/*ä?;ûYTàI@ÎD7ÆI7¥5®D,ËF7ÉD5ÉA3É?2Í?3ÒB7ÚF<àG?ßB;à>9à;7à74â64ä65ç77é99é>7ç:4ä73è<:ñIHñMLØ=;¹(%¸-(¼5/Å@9ÌC=ÐA;Ö=8Ý>;ã?>á:2á:2â92ä84æ95è96ë99í9:ë7:ë6;ì7<ë8<ë8>è7=ç6<æ7<ì59è58å78ß:8Ù<7Ï<4Ä<0º:-°8(«:(¨;'¤;&¡:'Ÿ:&Ÿ:&ž9%š?,4"—>,“:*“1&Ì\X÷y|æT_ðTbèI[ØDRÃGO®SPšbS†lS{rSC[C?H3B7%O6"_K0prJ€£iˆÇ€yÃt{¾qu¢]oƒHy}J‡†Xy|O\d5:D)3=$4>&<E2=D2:B+EP2Ve<g{HiƒDl‹Em’Ei“Gd’Ga‘G^Gk‹HnŽKo’Po’PlOiMjŽNj‘PsšWsœVsUržSržQu¡Rw¦U{ªYt§Xs¦Wq¤USJ;SJ;SJ;SJ;SJ;SJ;SJ;SJ;VM>WN?XO@YPAZQB\SD]TE]TEcZKbYJbXNcXRg\Zmacsfmwjs|n{~p}s€s€~p}wjtobli\fcb]a`[a^W_\U_[R^ZOa[ObZMe\Kg\Ji\Ii]Gk\El]Fm]Dm]D_gOkiTqZH{M@•RI©WL®TI³WH¦N:¢G2¢?*ª;(¾:.Ò72à23å,1Þ7.Þ7.Þ7.Ü8.Ü8.Û7-Ø6+Ø6+×7+Õ7+Õ7+Õ7+Ô8+Ô8+Ô8+Ô8+¸=.·=.°8(§2!ª2!´;*½>/Â:,Æ6+Í6-Ô:2ÜB8àI>ÖG9Ç;,¹1!ßOGÙIAÔE=ÓE;ØH?ÜG@àC>á<:ã54ê67ï8:í9:ç77à72Ý:3Ü>5ÎKAÈE;½=0µ7)°5&³8)¹>.ÀA2Á;/Ê<2Õ>5ß=8ç;9î79ò67ô68æ7>æ7>æ7<å8:å99å97ã:5ã:3Þ5.ß6/ã81ä84å97ç98ç9:ç9:ë;>ç9;á99Ü<<ÖA=ÌC;ÀB6´@3¦;+¢=+>,™<*–;(•:'”9&“8%‡F2‡>/†/%”-(ÀIKèkoçlqÊWZ¶OP©TQŸVO˜YP•[P–]R™^Vœ`XMb!:O3JOf x’I˜²h¡½r »t™²pƒ›akN\lEWdHS\GHN@=C9;<,AB4=?2:=2<B6:C2AN4Rc?\tBgƒHpKo“Il’Gj’Ij’KgJlUm‘To“Ul“Pk“Lk”Hl—Hm˜FpJoŸIp Jr¢Ns¥Pv§UyªYz«Z{¤jo˜^dSWN?WN?WN?WN?WN?WN?WN?WN?XO@YPAYPA[RC\SD]TE^UF_VGd[JcZIcYMcYOf[Uj_]nbdpcjrentgpvirvirsfom`ggZacW[\\T\YRYVOWTKXTIXTI\VJ^VIb[Ic[Hf[Gh[Hi]Gj^Fm^Gm^G]eNmhTt]M‚RFšVMVM²QH¶QE®H9ªC2©>,¯:)½9,Ì70Ø42Þ22Ý6-Þ7.Ü8.Ü8.Û7-Ú8-Ù7,×7+×7+Õ7+Õ7+Ô8+Ô8+Ô8+Ô8+Ò9+¸>/·=.®9(¥2 ¦3 ²:)»=.¿;,Æ:-È4*Ì3+Ó;0ÜE:ßPBÞRCÚQAÝE@Ø@;Ñ<6Ð;5Õ>7Ø=8Û96Ý33é69í68ï79í68é77å97â=9á?:ÆC9¿?2¸:,±6'¯5&²8)¸=-¿@1ÅA4ÍA4×@7ß=8å97ê67ï56ô68ç6<ç6<ç7:æ89æ87å97å95ã:3â92ã:3ã:3ä;6æ:8æ:8å99å99æ9;ä:=à<=Ú?=Ñ@;Å?6¸<2¬;-¥;+ <,œ=+—<)–;(’:&‘8&7%z;)€8)‰5*ž;5ÁQPÚceÔ]a¹MMNL¤SOYP˜\R—^S—^U˜_V™^VSg*Sg(^r3zO—°l¥¾z™²nˆ¡`j‚Fau@Sf9IY5FP7?H59?358/;<,AB4=?2:=2;A5:C2@M3Rc?]uCgƒHqLp”Jm“Hk“Jk“Lh‘Km‘Tn’To“Sm”Qk“Lj”Hl—Hm˜HpJnžJp Ls£Ou¦Tx©Xx©Xx©Zm–\b‹QY‚H]TE]TE]TE]TE]TE]TE]TE]TE[RC\SD]TE^UF_VG`WHaXIaXIe]He]Jd[Jd[Le[Qf[Uh]Yh\\i]]j^`k_ak__i]]f[YbWU`USYVMWTKTQHRNCQMBSOCWQCXRB^WG^WEaYFc[Fg\Hi^Hk`Jk`J^cOmhUy_PˆXN¤[T³VQ´HE¸E>¹@7¸>3·<-·9*¼8+Ã9.Ê:/Ï;1Û7-Û7-Û7-Ü8.Ú8-Ù7,Ø8,×7+Õ7+Õ7+Õ7+Ô8+Ô8+Ô8+Ò9+Ò9+º@1¶>.®9(£2 ¢3ª:&µ=,»=.Ä?0Å7+Æ2(Ê3(Ð<0ØF9ÛM?ÝQBÜ87Ø43Ô20Ô52Ù:7à>;å=<é;<ï8<ï5:ì27ê24é56å97á<8à=8¹;-·9+±6'®4%5%°8(µ<+»=.ÈD7ÏC6ÖB8Ü=7â96è64í55ò67ê5:é6:é69ç79ç77æ95å:3å:3ã:3ä;4ã<6ã<6ã;8â:9á99à88Ý9:Þ;<Û@>ÕA=É>7º:17+¥7(¡;,œ=+˜=*”<(’;(9&8%Ž7$u8%y6%ˆ9,¢E=ºROÂVT¹OO¬HH¤LHœSL˜ZO—^S–bU—aW˜_V˜]UgxB{ŒU“¦n¥¸€«À‡ž³zz‘YYp:?R$AS)AQ-?L0:C.6<.690581:;+@A3=?29<1;A59B1@M3Qb>_wEi…Js’Nr–Lo•Jm•Lm•Nk”Np”Vq•Uo–Sn–Pl”Kk•Il—HmšIpJpJp Lu¤Sx©Xyª[u¦Wq¡U_ˆNVEOx>aXIaXIaXIaXIaXIaXIaXIaXI_VG`WH`WHaXIbYJcZKd[Ld[Le]Ff^Gf^Ig_Lg^Of\Pf\Rf\Sh]Wh]Wh^Uh^Ug]Se[QdZNdZN]YNZVKVRFRNBPL@PM>RO@UO?WQAYTA[VC^WDaZGd]Jf`JgaKadSleUt]O‹[Q«b\»YXºDD¾9:Æ;8É:6Ç80Â8-½8)¼:*½@.¾C1Ù7*Ù7*Ú8+Ú8+Ú8+Ø8*Ø8*Õ8)Õ8)Õ8)Ô8)Ô8)Ô8)Ò9)Ò9)Ò9)»A2¶>.¬9'¡4 2¢8"¬=)µ@.¼>/Á9+Ä6*Ç4*Ë7+Í;.Î</Í>0å26á14Ý02Ý34à88å;<ë=?î;?ï6<í38ì/5é05ç47ã77Û64Õ30±7(°6'®6&¬7&¬7&®9'²:)µ:*ÃA3ËA4ÔA7Ü?8â:7ç85í76ð67í6:í6:í68ë76ê86è94ç:4æ;4â92á:2ß:4à;7Þ:8Ý98Û97Û89Ö<:Õ@<ÓB?ÊA;»;2¯6+¥5'ž7(œ;*—<)“<)‘<(:&8$Œ7#Œ6%z@,v5#6'™E;¬OH¬MI©LG¨PLPH–VL“ZO“_R“bT•aV—aW™`W~‹]™©z½Ž¦·Š¡ts†YN`8/A->3B%:F.=F3;A3:=2;<4<=79:*?@2<>19<1:@49B1?L2Pa=`xFj†Kt“Os—Mq—Lo—No—Pm–Pp—Tq˜Up˜Ro—Pm•Ll–Jn™JoœKqžMrŸNt£Sy¨X|«]w§[mSd”J[„LS|DNw?cZKcZKcZKcZKcZKcZKcZKcZKcZKcZKd[Ld[Le\Mf]Nf]Nf]Nf_Eg`Fh`IiaLiaNi`Oh_Ng^OjaRi`Qi`Qh_Nh`Mh`Mh`KiaLb_P^[LYVGTQBPM>NK<NK:NK:PM<RO>TQ>VS@YVC\YF^[H^]I`aSf^QmWJ†[RhcÁb`ÄLMÌ@CÔ:<×79Ö74Î70Á9+·>)²D+°H-×7)×7)Ø8*Ù9+Ù9+Ö9*Ö9*Õ8)Ô8)Ô8)Ô8)Ò9)Ò9)Ò9)Ò9)Ò9)¼A2¶>.«:( 7"™5š7 ¢>&¯B-±<*º;*Â:,È8-Ë8.Î:.Ð<0Ò>2ò5<î3:é27ã36â46â46â46ä15ì5:ì39ê38ê5:æ8:Ü66Ñ2/Ç,(®9(:(:(«:(«:(«:(¬9&¯7&¸:+Á<-Í?3Ø?7à=8æ:6ê86ì87ï56î66î66í74ë84ê93ç:3æ;3á:2ß;2Þ=5Ü=9Û=:Ù><Ø=;×==ÌA<ËB<ÆA:»<37-£5(ž7(š;)–;)“<)=(Œ;(Š9&‰8%ˆ7$‡6#}C/s4"y4$“G:¤RG¡NFžNE¡WN˜UL’XL[NŒ\NŽ^R”`U—aW›bYƒŽd˜¤|©ƒ€Žj]kJDS42@&$2-:&0;*5=.9?3<?6=>6:;3::29:*>?1;=08;09?38A0>K1Pa=ayGk‡Lu”Pt˜Nr˜Mq™Pq™Ro˜RršSršSršQp˜Om—Km˜Ip›LržOt Qv¢Sx§Y{©^z¨_qŸVd’JY‡?]†NVGQzBe\Me\Me\Me\Me\Me\Me\Me\Me\Mf]Nf]Nf]Ng^Og^Oh_Ph_Pg`Fh`IiaJjbMjbMjbOjbOjbOjbOiaNh`Kh`Ih`IhaGibHjcGe`Mb]J^XHXRBSM=MJ9KH7IH6KJ8LK9LM;NO=PQ?QTASVESVEYYM]WKcQEzXN¡ha¸eaÇUUÛORÞ=Cã8>à67Õ62È:.¹@+E*¦I*Ô7(Ô7(Õ8)Ö9*Ö9*Õ9*Õ9*Ô8)Ô8)Ò9)Ò9)Ò9)Ò9)Ò9)Ò9)Ñ:)¼@4µ=/«<+ :$—7’6š<#¦B*°C.¹@/¿;,Ã7*Å2(Ë4+Ó:2Ù@8ó1<ð2<î5=ë8>ç:>å;>ä:=ã9<á48ä5:å8<ä;>Þ;<Ò86Å1-¼-'«<+«=,«>*©>*¨=)©<(©:'«8%¯6%¹7)Å;.Ñ=3Ù<5à;7ä;8è;7ð75ï75ï75î84ì94é;4è;4å=4â>5à?7ÞA:ÚA;ÙA>ÕA?Ñ??Ñ??¾B:»@8µ<3ª8-¡5(›5'˜8(•<*‘;*<)Š<(‡:&†9'„7%ƒ6$‚5#y<)r3!}:*—OA£YLœRG•OE–VJ”ZN[MŒ[M‹[OŽ\Q”^T™`Yœa[s}Xyƒ`r|ZU`B9F,/;'0;+1;03=44;35<4:?8?B9?A6<<277+89)>?1:</7:/8>27@/=J0O`<ayGk‡Lu”Pu™Os™Nq™PršSp™Sr›OrœPq›Oo™Mn™Jp›LsžOu¡Ry¥X{§Z|¨]x¦]qŸWg”O]ŠEVƒ@`‡PY€ISzCg^Og^Og^Og^Og^Og^Og^Og^Og^Og^Og^Oh_Ph_Ph_Ph_Pi`QjbOjbOjbOjbOiaNiaNiaNiaNiaLh`Kh`Ih`IhaGhaEhaEhaEf_Le^Kb[H\WDWR?PM:LI6IH6GH6GH8GJ9GK:HL;IM>HO?HO?PPDVRGYOChREYM˜UL³RLØXWàGJç<Bå79Ý54Ñ:1¿@-°D*¥D$Ò6'Ó7(Ô8)Ó:*Ó:*Ó:*Ó:*Ó:*Ò9)Ò9)Ò9)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)½?3¶</¬=,£<)—9 6”: B)¬C-¶A/¿=/Â6)Â/%È/'Ð6.Ú=6ð0;ð5>ï:Aì?CæBCáACÞ@AÚ>?Ï12Ñ56Ô::Ò<;Ê;7¾73µ4.¯3+¥>+¥>+¥>+¦?,¥>+¤>(¥<'¨;'ª7$²7'¼8+Å8.Ì8.Ö92Þ<7ä?;î85î85î84ì94ë:4è;4å=4â>4âA7ÝC9ÚC<ÕB;ÐA=Ê?<Ç=;Ã<9®>3©:/¢8+œ6(˜7'”8)‘:)Œ;(‹=)ˆ=*…<)ƒ:'‚9&€7&6%~5$v4$x5%…B2˜UEœXK“QCPD•ZL’ZM[NŽ]OŽ\Q’\R•\U˜[V™\W`hCX_=JS4>G,6?*2=-4>35?74=88>:=B<CF?EG<CC7@>/;9*78(=>0:</7:/8>26?.=J0N_;`xFk‡Lu”Pu™Os™NršQršSp™SqœMrNqœMp›LošKrNu¡Ry¥X«`~©az¥]qœUf‘L_‰G[ˆE\‰Hb‰RY€ISzCh_Ph_Ph_Ph_Ph_Ph_Ph_Ph_Pg^Oh_Ph_Ph_Ph_Ph_Pi`Qi`QmcWlbVjaRi`Qh_Pg^Og^Mh_NiaNiaLiaLiaJh`IhaGhaGhaGh`Kg_Je_Ib[H\WCUR?PM:ML:EF4DG6DH7BI9BI9BJ;BJ;BJ;JJ@QQERPAUN<bM:qF6“I>ÄYSÛQOãCEå8:ß55×:3Ê>/¸>)¬<$Ï8'Ï8'Ð9(Ò;*Ò;*Ò;*Ò;*Ò;*Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)Ñ:)½=2¶:.<,¥>+˜9#Œ59ž@' :$¯<)¾?0È;1Ì8.Ñ7/Ù<5àA;ð;Bï>FëBGãCEÖ@?Ê;7À50»1.·0,¼51¾:5»<6³:2©9.£9,¡9,Ÿ>+Ÿ>+ ?,¡@-¡@-¡A+£>*¤=*©<(:(²7(¹5)Á4*Ë80Ö?8ÝD>é:5é:5è;4è;4ç<4ä=4á?4Þ@5ÝC9ØD:ÒC;ÊA9Ä?:¼;6¸85´73ž9-™7*•5'’6'‘:)<*‰:)„9&†=*„=+=*€<)~:'|7'{6&{6&y1#€8*ŒG8–RE’PB‹K?ŽSE™_SXKZN’\R–]T—\V˜[V˜YT—XSV^7EM(6@8A&>G2<D53=2-7/1737>7@E>GJ?GI;BC1?>);;#78(=>09;.69.8>26?.<I/N_;`xFj†Ku”Pt˜Ns™NršQršSp™SqœJqœLpLoœKo›LržOw£V{§\‚e€«dx£^j•P]‡EYƒC^ˆHeOcŠUZLSzEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qj_Yj_Yj`Wj`Wj`Vj`Vj`TjaRjaPjaPjbOjbOjbOjbMjbMjbMg_Jg_Jf^Ie_Ib]I\WCSP=ML:HI7EH7AE6>E5>F7?G8=H8<G7HJ=HL>AE4HK6YS;_F0€K9Àj]Ýf`åSSçDEè@@ã?=Ö=5É=0Â>/É3$Ë5&Ì6'Í7(Í7(Î8)Ñ;,Ó=.Ò<-Ò<-Ò<-Ò<-Ñ;,Ñ;,Ñ;,Ñ;,¸3,·7.±;-¦;)˜8"‘7’8š:"«B-±<+¹7)Á4*Í6/×<7âC?êHCëBGéDHÝCCÉ:6»61´80®8.§5+ª:/¨9.¤8. 8-›9,–:+’<+>-˜=*˜=*™>+š?,›@-œA.žB-¡@-¡<*¥:(«7(°6)¶6+¾8-Å;1Ê=4ß:4á<6â?6ã@7âA7ßA6Ú@4×@5ÚG=ÒE;ÇA6»;2±6.ª3-¤1,¢1+”;-’:,:+:*‰:)ˆ;)…<+„=+~:'|9(|9({:({:(z9'x6&w4$z, A4˜NC“MAŽL>RE‘VHŽRG˜\R˜\R‘UMTL™ZU—XS–WR `^R[0IQ(AK&BK,>H/7@-2=-4>34;3HPEX^RW[LLO<DF.AA'==!:;+>?1;=0:=29?34=,;H.Pa=bzHlˆMu”Ps—Mq—Lp˜OršSqšTpJqžKrŸLrŸNsŸPv¢U{§\ªb‚fx£^i”O_‰G]‡G`ŠJfŽOhRd‰U[€LTyEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qj^^j_]j_]j_[j_Yj`Wj`Vj`Vj`TjaRjaRjaRjaRjaRjaRjaRj_Kh`Kg_Jg_Jd]J^YEUR?ON<IJ8EH7AE6>E5?E7>F7>F7=E6BF8>E5=F1DN5HK0PB'yS<¹ubÉdXà_YíUTêFGä>>â@=Û>9Ñ82Ì:+Î<-Ï=.Ð<.Ï;-Î:,Í9+Í9+Î:,Î:,Î:,Ð:,Ð:,Ð:,Ð:,Ð:,È?9ÆA:½A7®=/6#•2•2™3¦5#²7(Á;0ÑA8ÞE?æIDéJFìJGÞBCÛEDÎC@¼;5®9/¨>1¢A1œ?.œ@1™@0–>0’?/Œ?-ˆ?.„A.ƒB.‘;*‘;*’<+“=,”?+”?+–?,™>+Ÿ@.¡=-¤:,§9*¬8+±8-¶:0¹:1Ð90Ò;2Õ>5ÕA7×C7ÖD7ÔD9ÑE8ÊB6ÃA4¹=1°:0¨8-¢5.5,œ5.Ž=,Œ=,Š;,ˆ;+†:*„;*<,€=,~;*|;)y:)y:)x9(w8'u6't5&„1)‘C9˜NC‘K?ŒJ>PD’TIRG“SJšWQ˜UO™UR\X”WTŽSO—\XT]0Zc8_j@[eBIT66C)4@*<G6MXGYbQ_fTW\FJN5BE*?@!<=9:*=>0:</9<1:@45>-;H.Pa=c{IlˆMu”Pt˜Nq—Lq™PršSqšTq¡Kp LpJqžMt Qx¤W|§_ªc{¦aošUcŒJ]…Fa‰JeNeNc‹Ld‰U[€LTyEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`Qj^`j^`j^^j_]j_[j_Yj`Wj`Vj`Vj`Tj`Tj`Tj`Tj`Vj`Vj`VlaMk`LiaLiaNf_La\I[VCTQ@ML:HI9DG6AE6AE6?E7>D6=C5=F57@-?H3EM5AA%QA']E³u`³WHÙbZðebîRSéEFìFHèBDÝ79È9+É:,É:,É:,É:,Ê8+È6)È6)Ê8+Ë7+Ë7+Ë7+Ë7+Ì8,Ì8,Î7,Â3/¾5/¸5-¬3( 0"›0Ÿ1 ¥4$»A2ÇC7ÖG?ãKFçLGéJFåFBâC?ÕCCÏDAÁ@:°;1£=/žC1™F4•G3’E3E2ŒC2‰B0ƒB0B/{B.xD.Š8*‹9+‰:)Š;*‹<+<+Ž=,<*–?.–=-›;+9* 8+¥9-©:/«;/¼7.¾90Á;0Ä>3Å?3Æ@4Ä@3ÁA4¸:,²:,ª9+£7+7+™7,–8.–91‰=-ˆ<,…<+„;,‚:+€;+<+<,};+z;*z;,w9*v8)u7(t6's5&Œ91”F<—MBŽJ?ˆH<OD‘SH”QI“NGšSOšSOšVSœ]X“YUZT—f_wƒS~Š\€‹`lxPJX46D#=J.MZ@eqYeoW\fMNW<DJ.?D&=@!:=89);<.8:-9<1;A56?.<I/Pa=c{Im‰Nv•Qt˜Nr˜Mq™PršSp™Ss£Mp LnLpŸOu¤V{§\}¨`|§bošUfM\„E\„EdŒMhQeN_†GcˆUZLSxEi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QjaRjaRjaRjaRjaRjaRjaRjaRk_ak__k__k`^k`\kaXkaWkaWkaUkaUkaUkaWkaWkaWkaXkaXncQmbPjbOjbOhaNe^L_ZGYVERO>MK<GH8DF8CE7AE6@D5>B3;I27C-EJ3IG0K<%mN9—dO§`NŸA5ÆSLçc_ð^^îRUíJMêDHç>CÉ;/Ç9-Å7+Å7+Ç9-Ê:/Ë;0Ë;0Ñ>4Ñ>4Ñ>4Ò>4Ó?5Ó?5Ó?5Ó?5Ó?=ÑB>ÍD>ÆF=ÁG<ÂI>ÆN@ÎPDÙSJÞOGäLGäIEåFCâC?àA=ß@<ÔFDÊC?º?7«<1ž>.—D2“H3‘J6‹G4ŠF3‡D3„C1B0zA.wC.uB/†8+…9+…9+†:,†:,‡;-‡;+ˆ;+‰:+‹:)Ž8)8*•9,™<-=/ž>0«9/8.®9/°:.°:.²:,¯9+®8*¨7)¥7*ž7(›6*•7+’8-9/;0†=.…<-ƒ;,9*:+~9*}:*};-|:,z;,y;,w9,s8*q6(q7)q7)B8”G=‘K?ŠH<‡I<‹OD“UJ—TL—PLSP˜QO–RO—\X_Xh^žzn™k…’fu‚VYh=CR)?O(P`<crQetS\iKNY;CL/?E)>B'=A&;>#78(:;-79,9<1;A57@/<I/O`<ayGlˆMv•Qu™Os™NršQršSp™Sq¡MoŸKožMs¢Rz¨]|ªaz¥^u [bŒJ^†G[ƒD_‡HgŽMj‘PfL`‡Fb‡TY~KRwDi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QjaRjaRjaRjaRjaRjaRjaRjaRk`^k`^k`\k`ZkaXkaWkaUkbSkbSkbSkbSkaUkaWkaWkaXkaXocSnbRmaQkbQkbQhaOd]M`ZJVSBRO>MK<IG8EF6DE5BC3@A19K1>H/JH1Q?+e>-”ZL¬`S›>6œ4+µ@9ØXUóigödeëRUèINìKQ×J@ÓF<Í@6Ë>4Í@6ÒD:ÕG=×G>ÚJAÚJAÝJBÝJBÞKCßJCàKDàKDëRTéSTãTPÜSMØSLØSLÛTNàUNàLHâHFäEBäB@äB@äB@ãEBãEBØJHËD@¹>7ª>2žA2–C1F3I6‰F3‡D3†C3ƒ@0@1}?0y@/x@1ƒ9.ƒ9.‚:.‚:.ƒ;/ƒ;-ƒ;-ƒ;-9*‚9*…9+‡9,‰:+;-<.=/›;/œ:/ž9- :.¡9,¢8*¢8*¢8*Ÿ8)œ8)˜8(”8)9*Œ:,ˆ:-‡;-ƒ;-‚:,9+~9*}8)}7+|8+{9+z8*y9-x:-t9+q5*o5)q7+r:-G;ŽH<‰I=„I;…K=ŒRF“WMšWO˜QMžTQ™RP•VQ’`YˆbW‚h[ŠwhivKZi>JY.AR&IZ0Wi?dvLj|TXjDL\8?M,:D)<D,>C-=@-:=*89):;-68+8;0<B67@/;H.L]9^vDi…Jt“Ot˜Ns™NršQs›TqšTmŸJmžLp¡Px§Y|ª_z¨`rXi“QYƒC\„E`ˆIeŒKgŽMgŽKfJd‹Hc…SY{IRtBi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QkbSkbSkbSkbSkbSkbSkbSkbSla[lbYlbYlbXlcTlcRldQldQldQldQlcRlcTlbVlbXlbXlbYocSnbRmaQlcTlcTkbSg`Pd]M]WGYSCSM=MJ9KH7HE6DB3B@16J.>H-NC-b=-„D:¯VP¶MJ¡++´:9º=;ÑTPòpnýwvñehêY^ò]cáVOÚOHÒG@ÎC<ÑD=ÔG@ÖGAÖGAÙHCÚIDÚIDÝIEÞJFÞJFàKGàKGãGJáGIÝGHÙGG×HD×HDØGDÝEBàBAåABé@CêBBèBBäB@ßA>ÜA=ÚJIÌB@»<6®>3¢@3—A2B0D3‰A2ˆ@2ˆ>1…=1‚<2€<1=1}=1ƒ:3;3;1;1€<1€<1=/=/=/€</€=-€;,€;,9+9+8)Œ:/9.9/“;/—;.š=.=/ž>.™9)•9*“:*Ž;+Š;,‡;+ƒ;,€;+‚:,9+7)~6*{5){5)z6)z6+x6*x8,w9.s7,o5)o5)r:-u=0ŽL>‰K>„J<‚M=…QC‹VH’XM—WN”MIœRQšTR•[We\y_PcXFb]IBP,?M)?O(K\2_qGk~QcyKVk@M_7@R,6E&7D*=F1=D4:=27:19:*:;-68+8;0<B67@/9F,IZ6Zr@eFr‘Ms—Mr˜MršQs›TqšTlKo Os¤Ux¨\z¨_s [i“Q`ŠJX‚B^†GdŒMgŽMfJeŒIgŒGhHaƒQXzHQsAi`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QkbSkbSkbSkbSkbSkbSkbSkbSlbXlbVlcTlcRldQldOldMldMldMldMldOldQlcRlcTlbVlbXocUmaSkbSlcTmdUlcTi`Qf_Ob[K^WGWQARL<OI9LF6IC3F@02K+>G*SA+{E9¦NL¸EH»5<¾19Ë@EÄ?@ÊJIÞb`îrpïopçbeáZ^ÛRJÕLDÏD=ÍB;ÏD=ÒE>ÐC<Î?9ÒC=ÓB=ÔC>×C?×C?ØD@ÙEAÚEAà?Dß@DÞDFßFHßIHàJIãIIæFHçACëADîAEîACéAAâ@>Ù>:Ö=8ÛEGË=<»73°;4¦@4˜?1>0ŽA1‰=/Š<0‰;1‰92‡81†93…:4„;4:4:4€<3€<3<3}=3}=3|<0{=0{=0{=.{<-z;,y:+z8*z8*€:0‚:.„:-ˆ:.Œ:.‘;.”<.–=-’9)‘:):*Š;*‡;+ƒ;,<+}<*€8,€8,~6*}5)|4(z4(z4*y5*u3'v6,v8-r6+n4(n5*s:/v@4‹PB†N?N=R@…VF‰XIŽUJ‘RI“NI™RP”SO‘\VŠfZl\LML7BL3@O.KZ9WgC`rJezOdzLVl=G]/AV+7I#0A!5C*=F5<D98=7796:;+;<.68+9<1=C77@/7D*FW3Um;a}BoŽJq•Kr˜MršQtœUr›UnŸNq¢Qu¦Wv¦\s¡Yj—R`J[…E^†G`ˆIbŠKeŒKfJhHf‹EeŠD`‚PWyGPr@i`Qi`Qi`Qi`Qi`Qi`Qi`Qi`QkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcRldQldOldMleKleIleIleKldMldOlcRlcTlbVlbVnbTmaSkbSkbSmdUlcTjaRh_Pd]M`YIZSCUN>QJ:MG7IC3GA13M*>G*[B.PGºVVº7?»'3ÜBNÐ:CÄ9>»;:ÂHGÓ][ßgf×[]ÇILÓJDÏF@ÌC=ÎC>ÒGBÒGBÐB>Ë=9ÒC?ÓB?ÔC@ÕDAØDBÙECÙECÚFDá>Cà?DÞBEßEGáGGàFFàBCâ=AëADí>Cì;Aê<>æ>>ãA?ßD@ßFAÙ@CÉ78¹30±:4§?4š>1=/Ž?2Š;.‹9.‹80‹61Š71Š73‰84‰:5:3:3:3~;3|<3|<2{=2{=2u9.v;-w<.w<.x=-x=-y;,y;,{;1};/~8,7*„6)‡5'‰6(‹5&7(‹8(‹:)ˆ;)…<+<,~=+{<*€8,7+~6*|4(|4({2)y3)y5*t1(u5+v8-r6+n4)n5*t;0xB6ŒTE„Q@P>‚UB„YHˆYI‰SGNG˜SN˜RPPKˆVO‚bUeZHFK4;K0IX;[jKgxVewQYnCSi;Me5I`28M"-B*;2@):E7;B;8<;7;<<=-<=/79,9<1=C77@/6C)DU1Rj8_{@mŒHp”Jq—LršQtœUr›Uq¢Qt¥Vu¥Ys£Ym›Sd‘N\‰HZ„DdŒNa‰J`‡HcŠIfJiŽIeŠDa‡>`‚PWyGPr@i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTo\Nq_QtdUrdWnbTj`Th`ShbTgaSebQa^K[VBVQ;TN6NH.GA'RD)N=#cI2iV²zm·ng³[W¸PQ¶BEÁ@EÉ@GÑBFÖDGÚEIÜGIÝGIÔBEÔBE×BDÙEEØDBÒC;ÎD:ÌH;ÄF7ÃH9ÆH:ÊG?ÐEB×BDÜ?FÞ=EâBDâBDâBDâDEâDEãEDãEDãEDâDAâC@áB?â@>ã?=ã?=ã?=å@>ÎE?Ä?8¶:2©80Ÿ:0•>4Œ@3ƒ?2A4|@5}?4<3ƒ:3‡83Š73Œ72…<-…<-…<-„;,ƒ;-‚:,‚:,‚:,9-9-9-~:/~:/~:/~:/~:/~80~80}90}90}90}90|90|90|90|90z:0y9/y9/x8.w9.w9.w8/w8/v7.t8.s7-r6,q5+p6+l2'q7,m4)l3(o6+m4)q8-H=ULƒTL†QK‹PJNJ•NL˜NM—PL”SM‹UK†\NdOkaFTW8JX5N_;gT`zMWpFTkARg@O`<IX7DQ39C*5=&49%7:)=>0CA4B@4@<12:/2:/4:.5;-9=.<?.>A,>D*T^<bqHq…TtVt”UršSsSržQv^¦g¦gq˜YcŠK_†G_†G^…F`‡Hb‰Jd‹LfNeŒMcŠK`‡H^…F_OTvDKm;i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTsaSr`RrbUqcVrfZpfZmeZjdXgdUkhYmjYlgThcOd^H[U=RL4PJ0F?%P@)kP;WG„NB‰D=–C?´VT»SR¾PQÂNOÄLMÆLKÅKHÆJHÔRTËFGÄ<<Ç;:ÑA@ÔE?ÏB9Ç>4ÉE9ÈF9ÊG=ÍG>ÒGDØCEÜAEß?GáCDáCDáCDâDEâDEáFDáFDáFDàEAáC@àB?ßA>àA=àA=â@=ãA>ÑFAÉB<¼=6¬:0 90“;/‰=0=0A4|@5}?4<3ƒ:3†91Š71Œ72…<-…<-„;,„;,ƒ;-‚:,‚:,‚:,9-9-9-~:/~:/~:/~:/~:/}90}90}90}90}90}90|90|90|90z:0z:0y9/y9/x:/w9.w9.w8/w8/t8.s7-r6,r6,p6+p6+k1&q7,m4)l3(o6+l3(p7,~H<‚SK„TJˆQJ‹PJ‘PL•OM–PN–RO‹OG…SH€[K{ePsiPhkLdrOgxT\uKXoEPf?Ka:K_:K\:GV7CP4<F-8@)6;'7:)<=/?@2@>2><03;03;05;/6<09=/<?.>A,>D*Q[9^mDmPpŒRr’Sq™RsSsŸRxža|¢exžak‘T`†I]ƒF]ƒF\‚E`†Ia‡Jc‰Le‹NdŠMbˆK`†I^„G]MRtBIk9i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTtbTo_Pm]Pm_ToeYog\keYhbVfbVpl`{xi~{jzgzuapiVf`JPV<DF.A?(MB.S@/U8(^6*m=3p7.x71:3‰@9•HBžOH¦WPª\RÁ[W»RO¸FE½A?ÉCBÑFCÓD@Ð?:ÐA9ÐC:ÐE>ÔG@ÖGCÚFFÛEFÝDGáCDßCDßCDßCDàDEßECßECßECÞDBÞE@ÝD?ÜC>ÜC=ÜC=ÝB=ÝB=ÕF@ÎE=ÃC:³>5¢:/’8-ˆ9,<-€A2~@3}?2=1ƒ:1†91ˆ81‹80…<-„;,„;,„;,‚:,‚:,‚:,€:.9-9-9-~:/~:/~:/~:/~:/}90}90}90}90|90{8/{8/{8/{;1{;1z:0y;0x:/x:/x:/x:/t8.t8.s7-s7-r6,q5+o5*o5*k1&o6+m4)k2'n5*i3'm7+}G;†QI‡PIŠQJŽQL‘RM“RN•TP’UPVO‡[P^OtbNoiQnrWjwYfwWPf@K_:EY6BV3EV6GV7FU8ER8?I1<D-9>*7;*:<.<>0<=/:;-5<45<46<26<09=/<>0=@-=C)MV7Zi@h|KlˆNpOq™RuŸSt Sz cw`n”Wc‰L\‚E\‚E\‚EZ€C_…Ha‡JbˆKdŠMc‰La‡J_…H]ƒF[}KPr@Gi7i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTtdWqaTm_Rk_SkaWlcZle[jf]jf]wuiˆ„y‘•’Œ|‰‚r€ygZfNLV>AI2CF1ED0D?,I=-TD5M:+O8*R6*T7)X8+];/a?3eA5‹KAœSLUQ¶NK½EDÇABÓCCÛEF×?>Ø@=×B>ØD@ÙEAÚFDÛEDÛEDßCDßCDÞDDÞDDÞDDÝEDÝEBÜGCÛFBÚE?ØE>ØE>×D=×D=ØE=ØE=ÖC<ÔE?ÊE>»@8§;/–8,‹9+…;.‚@2@1~?0=/;/„:/‡9/‰90„;,„;,ƒ;-‚:,‚:,‚:,9+9-9-9-~:/~:/~:/~:/~:/~:/}90|90|90{8/{8/{8/y9/x8.{;1y;0y;0y;0x:/x:/v:/v:/s7-s7-s7-r6,p6+o5*o5*n4)j1&o6+l3(h2&k5)h2&l6*|F:ŠOGŒPHQIRMSN’UPWPŽYQ‰]R…aUy_PiZGd_IciOZgKN]@EU8AQ4=M0<K.?M3CQ7FR:GS;BK6>G2:A/7>,9=,9=.8<-7;,6=66=66;46<29<1;=/<?,<A*JS4Ve>dxGj†LpOs›Tw¡Uw£T{¡dr˜[e‹N\‚EZ€C\‚E\‚EZ€C_…H`†Ia‡JbˆKa‡J`†I^„G]ƒFY{INp>Ef7i`Qi`Qi`QjaRjaRkbSkbSkbSjaRjaRjaRjaRjaRjaRjaRjaRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTseXugZsg[mcYjaXle]snhzwp~w† –©¥œ«§œª£™£‘œ”‰v~i`hSLSADK9AJ7>G4>G4BI7GN<FJ9CF5?@0=;,<:+<9*<9*U5(lD8‹PHŸPL°HIÂEIÏDIÖAEÙ>BÛ?@ÛAAÛC@ÚEAÚEAÚEAÚEAÞDFÞDFÞDFÞDDÝEDÝEDÛEDÙEAÚFB×FAÕF>ÔE=ÓF=ÓF=ÓF=ÔG>×@9ÕB;ÏD=ÁB9®>3œ:-‘;.‰=/„?0?/~?0=/<-„:-†:-ˆ:.ƒ;-ƒ;-‚:,‚:,‚:,9+9-9-9-~:/~:/~:/~:/}:1}:1}:1|90|90|90{8/y9/x8.x8.v8-y;0y;0x:/v:/v:/u9.u9.u9.s7/r6.q6.p5-o4,n3+m4+m4+j1(o6-j4*h2(j4*g1'k5+zF;MGNH‘PJ’SLUOŽWPŠZP…ZQ{YMv\OkZJ]UBYXDY^HOYA>L3;G18D.5A+5A+8D.=I3AM7EN;BK8?H5<E29B/7@/7>.5<,4;+5;75<56;56;48;2:</;>-;@)GP1Ra:buGi…Kq‘PuVy£Wx¤Uzcn‘W`ƒIZ}C[~D^G^G]€F`ƒIa„Jb…Kb…Ka„J`ƒI_‚H^GW{KLp@Bf6haQhaQhaQibRibRjcSjcSjcSibRibRibRibRibRibRibRibRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTmaUndXpf\lcZkd\rmg„|‘‹¥¤ ³²®ÄÁ¼ÉÆÁÉľÅÀºÀ¹±¹²ª¤œˆ‚tfcTPQAEI8=F38E18G45F35F44E36D58D6;E:?G<@H=<6(L</b@7EA£OOÁW[ÎOVÍBI×DJÚDFÝDFÝEBÝEBÞE@ÝD?ÞC?ÞDFÞDFÞDFÞDFÜDCÜDCÚDCÙECÙEA×FAÕF@ÓF=ÐF<ÏF<ÐG=ÐG=Ø=8×@9ÑB:ÆC9¶A7¤>0–=/Œ=.†>/‚?/€>.=-<-ƒ;,„;,‡;-‚:,‚:,‚:,‚:,9+9-9-~8,~:/~:/~:/~:/}:1}:1}:1}:1z:1z:1y90y90x8/v7.v7.v7.u9/u9/u9/s9.s9.s9.r8-r8-q6.q6.p5-o4,n3+m4+l3*l3*h2(l6,i3)f2'h4)e1&i5*xD9’KE’MF“PJTLVO‡XNYO|\Os\Nk[L_XFUTBPS@JQ?@I64@,3<+2;*09(09(2;*5>-9B1<E4?H7=H7<G6:E48C25A-3?+1=)3973954954937:19;0;>-;@*CL/O^7_rDi„Mr’SwŸXy£Wv¢Us–\f‰OZ}CX{A\E]€F]€F^G`ƒI`ƒI`ƒI`ƒI`ƒI_‚H^G]€FVzLJn@Ae7haQhaQhaQibRibRjcSjcSjcSibRibRibRibRibRibRibRibRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcTiaVjbWkdZmf^upjˆ…€Ÿžš°°®ÂÂÀÓÒÐâáßéåäçãàãÞÚÞÖÓ×ÏÌÒº°º¤™˜†zym__YIKL:>F19E1<K8;J79G68D68@57<57947836A3>>2J91`94ˆHH²\_È_dÍVZÐOSÕMOÚLKÜJJàHEáFBãDAåA?ÞDFÞDFÞDFÝCEÝCEÜBBÛCBÛCBÚDCØD@ÔE?ÓF?ÐF<ÏF<ÐG=ÎH=Ý>8Ú?:ÒB9ÉC:¼C8«A4™<-Œ9)‡>-ƒ>.>-€=,€=,<,ƒ;,…<-‚:,‚:,‚:,9+9-9-~8,}9.~:/~:/~:/}:1}:1}:1}:1}:1y:1y:1x90x90w8/t8.s7-s7-s9.s9.r8-r8-q8-p7,p7,p7,p5-o6-n5,n5,m4+l3*i3)i3)g1'k7,h4)e1&h4)d0%f4)uC8•JE“LH“PJTL‰WNYOx[Mp]Nj^N]WGPQAKN=CJ:9B12:+08)36-17-06,/5+/5)17+2:-4<-9D4;F6=H7<I7:G56C/3@,1>*0640641622716929;0:<.:?)?H+KY5]pChƒLs“TwŸYw¡WržQiŒT^IUx@WzB[~F[~F[~F]€H_‚J_‚J_‚J_‚J^I^I]€H]€HUvKJk@@a6haQhaQhaQibRibRjcSjcSjcSibRibRibRibRibRibRibRibRkbSkbSkbSkbSkbSkbSkbSkbSlcTlcTlcTlcTlcTlcTlcTlcToh^ng_lh_tqj…„¡ ž¼¼ºÏÏÏÎÏÑààâòòòúøùû÷öøòòñìéêåâïÍÃàÀµÅ©¥€sbaZGML7CH2AI4AH6BF7BD7C@9D<9C98C772?5;@9@93H/+c76QR³giÇmmÂ[\ÉYWÑUS×QNÝKKåGFèBBê@AÞCGÞDFÞDFÞBEÞBEÝADÜBBÜBBÜDCÙCB×C?ÔC>ÒE>ÐE>ÏF<ÐG=â@;Ý@9Õ@9ÌC9ÀD:°B5›;-‹5&Š=-…=.>-€=,€=,<,ƒ<*„=+‚:,‚:,€:.9-9-~8,}9.}9.~:/~:/}:1}:1}:1}:1}:1{;2w;1w;1v:0u9/t8.s9.r8-q7,r8-q8-p7,p7,n8,m7+m7+m7+o6-o6-n5,m4+j4*j4*i3)h4)f2'k7,h4)c1&e3(b0%e3(uC8”JG“NIQJ‹TM„XOzZMq[Mh\LXUDHK:=D4=E69A208+/7*5=056157257247005.06,08-19,6A3:E5=J9>K9;J77F12A,0?*.42.420511605818:/:<.:?+<E*IW4[nAg‚Mr‘UvZuŸWo›Pb…MX{CSv>WzB[~FY|DY|D\G_‚J_‚J^I^I^I]€H]€H]€HSsJHh?>^5icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUfc\gd]vsn“’Ž¯¯ÄÆÅÚÛÝìíïóôöö÷ùüüþÿÿÿÿþÿÿûúüööùôñÿÞÏöÖÇãÈ·É´Ÿž‡ŠƒicbFGG-EG/DF0GD3IC5H;3F42G34M797@;;@:@;8G85cGF‘kjÅ”è©Ò‹‡ÇtnÀ]XÆSNÖNNâIKëEIðCGÜFHáHKÜCFÕ:>Ø>@âFIàDGÖ:;Ú@@Ú@@ÙA@ÖB>ÔC>ÑB<ÏB;ÏB;ãA<Ý@9Ô?8ËA7¾B8°@4;.8*‹>.†>/‚?.>-€=,<+=*=*9-9-9-~8,~8,|8-|8-|8-}9.|90|90|90z:1z:1z:1z:1x=5w<4v;3u:2t91r7/p7.p7.o6-m7-m7-m7-m7-l8-l8-l8-i2+m6/p92o81k4-g2*g2*h3+e0(i7.d2)^,#`0&_/%b2(p@6’LJOKŠQJ‚QJ}YMv_QfYIRO>CF5=F58C35@02=/3;04:04:077577566446135016/05..6+.9+2=/6C29H5:I68G42D./A+,20,2.-2..3-36/780:</:?+6>&DR1YkCh‚Ru”[wž_r›Wj•N\}HXyDTu@Tu@WxCZ{F[|GZ{F^JbƒNbƒN^J\}H_€K`L^JTrNFd@:X4icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUmdUed_onj…†¤¤¢ÁÃÂÖÚÛêîï÷ûþ÷ûþøüÿüýÿþþþÿþÿÿýüÿüùÿûøÿïÚüêÒîÞÅØͱÀ»¤£„‚ƒcgkJMP1II/EC,HA/J>2L93M85Q99;;9BA?MHE\RQyjg¢‹Ì³®åÇ¿ÿÙÏ괪̃|Àc\ÌVTÛPSãFMâ=DÕEEÕEEÙGHÞIKÛEGÖ<>Ö<>Ü@CÚ>?Ù??Ú@@ÙA@ÖB>ÓB=ÒA<ÐA;ß@:Û@;Ô?8ÌA:¿C9±A6 ;/‘9+Œ=.‡>/ƒ>.>-€=,<+€=,<,9-9-9-~8,}9.|8-|8-|8-|90|90|90z:1z:1{;2{;2{;2v=4u<3t;2s:1r90p7.m7-m7-m7-l8-l8-l8-l8-j8-j8-j8-l5.n70n91n91l7/i4,g2*e3*c1(e3*_/%^.$b2(^.$`0&n?5„IEˆQLˆWRWOrVKdRDQJ:>?/:A16A14A02>02<14<15;17:388677577557446116005./7,.8-1<.4A07E49H58G44E22D.062.40.3--2,14-45-8:-9=,7?'DQ3YkEh‚Sv”`wbp˜YfNZzHWwETtBTtBVvDYyGYyGYyG[{I_M_M\|J[{I^~L^~L\|JTmOF_A9R4icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUmdUmdUneVneVneVddby{x—™˜²¶µÍÑÒäéìôùüúÿÿûÿÿûÿÿûÿÿýÿþþþüÿÿûÿÿúÿÿúÿüßúùÛïðÐáåÄÒØ´¼Äž©‡’j`hCRW7DG,EC.KD4MC9N?8L=8C:;SJKi`a€xv›“¼µ¯×ÐÈçÝÓúêÝÿôéÿåÛ画Äec¸ACËBIáNVÚVRÒLIËDAÎBAÔFE×EFÙCDÛBD×=?Ø>>Ù??Ø@?×A@ÕA=ÓB=ÒA<Ü?:Ù@:ÔA:ÍD<ÀD<²B7¡<2“9.Œ=0‡=0ƒ>/>.€=-<+€=,€=,9-9-9-}9.}9.|8-|8-{8/}:1}:1{;2{;2{;2{;2{;2{;2t;2s:1p:0o9/n8.m7-k7,k7,l8-l8-j8-j8-j8-j8-i9-i9-n91m80m80m80m80i7.f4+c1(c3)a1']-#_0&c4*\-#_0&sD:OK‚UPXQqSK^J?OC7?<-37(2:+/<+0<.2=/4<15;17:37:388688668557257227016/08-.8-0;-2?.6C27E48G48G48G46=53:2/4-,1*.1(13(57*6:)6>'DQ5[lHk„Zy–fwœfl”X^‡KWwEUuCRr@Rr@TtBVvDWwEWwEXxF[{I]}K[{I[{I]}K\|JXxFPfOAW@3I2icSicSicSicSicSicSicSicSicSicSicSicSicSicSicSicSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUneVneVneVneVofWgklƒ‡ˆ£§¨¹¾ÁÐÕØåíðóûþõýÿùÿÿûÿÿüÿÿüþûýþùþýøÿþ÷ÿÿöóÿâñÿÞëùÖäòÎÛêÃÌÛ²³Â™ ¬„}‰cdnKLS4EI0HJ5KI:GE9D@7QEEk__‹€¤š™µ°ÊÇÂÜÜÔççÝ÷óèÿýñÿøíÿÝÕú·±èŽŽÌbd±>CÃPIÉTMÉOJÃF@ÊFBÔMJØJIÑ??Ò>>Ô>?Õ?>Ö@?ÕA?ÓB?ÓB?ÒC?×>8×?:ÒC=ÌE?ÀE>±B9¢=5•;2Œ<1‡=0ƒ=1=0=-~<,€=-€=-~:/~:/~:/}9.}9.|8-{8/{8/~;2|<3|<3{;2{;2z;4z;4z;4p:0o9/o9/m9.l8-k7,j6+h6+i7,i7,h8,h8,h8,h8,h8,h8,o:4j81h6/i70j81j81e4-a0)e4-b1*].&a2*b3+Y*"_3*zNE~]XvWRiNGWC:J<3@:.:;-8<.08)/:,1<.2=/5=25;169078079468368349338138119.19..9+/:,1<.2?.5B18E4:I6;J7;C87?428.-3)-0%/1&24'48)4<'ER8_pPr‹d}šnwœifXT}EUrBTqASp@Sp@TqAUrBVsCVsCWtD[xH]zJ\yI^{K_|L\yIVsCK\J<M;.?-gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUmdUneVneVofWofWpgXmru‡Œ¤©·¿ÂÍÕØãíïòüþôþÿøÿÿøÿþúÿüûÿúûþõúüñùùíù÷ëòÿçñÿäîÿßëúÙçõÒÝéÅÈÒ´¾™œ¤|ƒbX_@GL5DL7DK;AG9>D8f\Z†|z«¡ŸÁ·µËÃÁÕÐÍãâÞîïé÷øðùöíüòèÿóéÿóíÿäß즤´if«K=³QDÁYNÇ[QÆQH¿D=ÂA<ËD@Ë@=Ï?>Ð@?ÑB>ÒC?ÒC?ÑC?ÑC?Ö>9Ô@<ÒD@ÉE@½D<¯@9 >5•<4Œ<3‡=2ƒ=1=0=/~<.=/€</~:/~:/~:/}9.}9.{8/{8/{8/~;2|<3|<3{;2z;4y:3y:3y:3m80m80l7/l7/k6.h6-h6-h6-h8.h8.h8.h8.g8.g8.g8.g8.k92h6/f4-g5.i70h70e4-b1*b3+b3+_0(_0(]1(V*!b6-SJn[U`OHN?8A7.=6,;9-9;.7=12:-3;.4</6<06<07:167/56.49249238139/39/2:/19.19,.9+.9+/:,0;+2?.6C29F5;H7=E6:B35;-06(/3%/1$13&15&29'GS;dtWwm~šrq•g\‚QIq?Qn>Qn>Qn>Qn>Qn>Qn>Sp@Sp@WtD[xH]zJ]zJ_|L_|LZwGQn>ESF6D7(6)gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUneVneVofWpgXpgXpgXinrz‚…“š «´¹ÄÍÒÜåêì÷ùôþÿôþýöÿüúÿúûÿ÷ûþóøúìõöæòóãòþêôýèôüåóøáòöÛëëÏØ×¹ÅÄ¥±°’ŽregOMP;EL:EM>EODGSG~zqŸ›’ƽ¸ÙÎÌáÓÒçÛÛôêéü÷ôðïëûüöÿÿöÿþôÿúñÿôêÿçÞÿÚÒß‘}·fS¢K:²UF½WKµF;·@8ÈKEÇC>ÊC?ÌB?ÎC@ÎC>ÍD>ÍD>ÌC=Ô@<ÒC=ÎE?ÅD?¸A;ª=8ž;5•<4Œ<3‡=4ƒ=3=2=1~<0=1=/~:/~:/~:/}9.|90{8/{8/{8/|<3{;2{;2y:3y:3x92w81w81m80l7/j8/j8/i7.i7.g7-g7-g7-g7-f7-f7-f7-f7-f7-d8-i70h6/g5.f5.g6/h70g6/e6.a2*e6.^2)\0'`4+a5,i=4|PGQJBE>6:6-85,99/8:/47,36+4:.5;/5;/69.69.68-57,46+19,19,19,19,19,19,19,19,08+.9+.9+/:*0;+3>.6A17B2<E4:C28?/5<,37)24'13%04%07%HT>gw]umv‘nf‰_RwKAh;Mj:Nk;Pm=Pm=Nk;Nk;Ol<Qn>VsCZwG]zJ^{K_|L_|LVsCLi9=H@/:2#.&gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUneVneVofWpgXqhYqhYcjpmtz„’£¬±¾ÉÍÓÞâåðòðüüòüûõþùøÿ÷úÿôüÿòúýìøùçöøãööìù÷ëúöêýöæÿôâøëØçØÁÖƯÀ±šŸ“}vn[ZWFOQCQWKYcZbme–˜‹²²¦ÕÎÆêÜÙõããüéëÿñôÿ÷ùÿýýýþùøûôõûñúýòÿÿóÿÿóÿÿñÿãÊ¹q[¨WD¬SCµQB¹MA¿JAÂG@ÆE?ÉE@ÊE@ÊE>ÉD=ÈC<ÈC<ÒC?ÒD@ÌEAÂC=³=9¦;5œ;5•<6Œ<5‡<6ƒ=5=4<3~<0=1€<1~:/~:/~:/}9.|90{8/{8/y90{;2{;2z:1x92w81v70v70u6/k90j8/j8/j8/j8/h8.h8.h8.g7-f7-f7-f7-d8-d8-d8-d8-h6/h70i81i81h70i81j;3l=5g80k<4b6-a5,oC:xLCtI@uJA:=647036/7:18;247.14+25,58-58-57,46+46+46+46+46)/7(08)08)08)08)08)08+08+19,08+08+/7*08+19,3;.4</9B/:C0;B0:A19=.68*24&/3$29'IU?eu[m„ghƒbWyTInE>e9Jg9Li;Nk=Nk=Li;Li;Mj<Ol>UrDYvH[xJ]zL^{M\yKQn@Eb47@;+4/!*%gdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSgdSkbSkbSkbSlcTlcTmdUmdUmdUmdUmdUneVofWpgXpgXqhYriZhowmt|‚‹’¥®µÂÍÑÔßãäïñòþþóýüôÿùöÿ÷úÿôüÿñýÿíýÿêýÿêÿöñÿøóÿ÷ïÿ÷íÿöëÿïáöÜÍäʹƯ§”ƒ€sce]P[YM_bYovo|…€¦¾À³ÚÖÍñãàÿìíÿñôÿñ÷ÿñ÷ÿ÷ûûúøøÿøøÿúôÿõîÿïòÿï÷ÿóÿñÖÿðÖÿÈ°Å}g¢O=®Q@¸RD³C8ÀIAÄH@ÇF@ÇF@ÈE=ÇD<ÆC;ÆC;ÓD@ÐE@ÊE@¾A=±;7£74š93•<6Œ<5‡<6ƒ=5=4<3~;2<3=1~:/~:/~:/}9.|90{8/{8/y90z:1z:1y90w81v70u6/u6/t5.k90k90j8/j8/j8/i9/i9/h8.f7-f7-f7-d8-d8-d8-d8-d8-f5.i81l;4k:3j92j92m>6qB:n?7pD;g;2g;2SJŒaXTKpE<6=52913:27<5492/5+25,9<345-35*24)13(13(35(46)57*,7',7'-8(-8(-8(-8(-8(/7(19*08)08+/7*/7*/7*08+08+7@+9B-=D2=D2=A29;-35'/3$3:*JVBcr[f}a\wVLnICgA=c:He7Kh:Nk=Nk=Kh:Jg9Li;Nk=TqCWtFZwI[xJ]zLZwINk=A^05;9*0.!'%heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVhdYkd\kd\md]meZmfVg`MjeOnlWnl]ff^eeeqqy‡‘“–ž¡«³¶ÃÈËÙÝàìíï÷÷÷ûùúþýûÿþúÿÿûýþøûüöùüóúýôùÿõùúõùúôøúïúûëûýèöùÞäçÈÒÖµ¶¼š”›ymvW\fK`lTq~lƒ‘€žŽ··µËËÉââàïïíôôòøøöúúøùù÷þþüþþüþþüþþüþþüþþüþþüþþüæÿÿðÿÿûÿÿýïîЪ§ a\™D=¸MEÄKBÈC:ÊA7ÎD:ÑH>ÏJAÉI>ÆG>ÁJ2¿K4¹L5¯K4 H2”F2ŒE3‡E5‚D5C6€@4‚>3…;2‡9/Š7/6-~:1~:1}90|8/{7.z7.y6-x5,w7-w7-x8.x8.v8-u7,s5*q3(h91h91h91g80h70g6/g6/g6/f5.h6/i70j81i70h6/f4-g2,k1-k4/n70m80k9.j:.i>.iB1dC2gJ8aJ8raOyn\ƒ|j…‚qOL;4:04:04:039/39/39/28.28.17-17-17-06,06,/5+/5+/5+/4./4./4./4./4./4./4./4.05//4./4..3-.3-/4./4.05/0;32=55A77C98D86B64@22?.3@.DQ=WeN\jSSaHHV=DR8FT:Ic>Ke@Ke@Ke>Je<Je<Lg>OjAUpGYtK\vO]wR]wTWpPHaC8Q3).2&+/$)-heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVhdYkd\kd\md]meZmfVjcPlgQmkVlj[gg_lll~~†’ž§±³¹ÁÄÏ×Úâçêðô÷ûüþÿÿÿÿþÿþýûÿþúÿÿûþÿùûüôøûòøûò÷ýóøùóøùñøúíøùéùûåòõÚáâÃÌЯ´¸—‘–vkrSYaI_kUtoŒ˜Š›©œÀÀ¾ÓÓÑççåóóñ÷÷õûûùüüúûûùþþüþþüþþüþþüþþüþþüþþüþþüîÿÿôÿÿüÿÿÿüúÿíêñ¿¸Ã}u¢J@³K@»J<ÅK>ÈJ>ÄD9½=2¿?6ÃD;ÂH3ÃJ7½M9³J7¦G5™C4D6‹F7ƒC7C8A7>5‚<4„:1†91‡81}:2}:2|91z:1y90x8/w7.v7.u6-v7.t8.t8.t8.r6,p4*o3)i81i81i81h70h70h70g6/g6/e3,e3,g5.h6/j81j81j81k92k60l71m80l:1k;/l>1j@0iD2hG6kP=gR?ufSvd‹†s†ƒrML:4:039/39/39/28.28.28.17-17-17-17-06,06,/5+/5+/5+/4./4./4./4./4./4./4./4.05//4..3-.3-.3-.3-/4.05/-80/:21=34@66B66B66B45B16C1CP<P]IR`IIW>AO6BP7FT:Ic@Jd?Ke@Ke>Ic<Hc:Id;Je<SnEXrK\vQ]wT[tTTmOC\>3L/).2',0$)-heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVhdYkd\kd\md]meZmfVmhTmhRmkVjk[jkcvxw‘‘™¨ª¶¾ÈÊÓÛÞêòõ÷üÿüÿÿþÿÿÿÿÿÿþÿþýûÿþúÿÿúýþøúûóõøïóöëñ÷ëô÷îöøíöøêö÷åõ÷áîîÔÛÛ¿ÉÊ«°±’“–yuy^kpZt{iˆ§œ¬¶ÎÎÌÞÞÜïïíøøöûûùþþüþþüýýûþþüþþüþþüþþüþþüþþüþþüþþü÷ÿÿùÿÿþÿÿÿüúÿúôÿöíÿÑÄÙž•L=§Q@¬K;ª>1¸G9ÑXMÐTJ¾?6ÆD6ÇH9ÄJ=¹I=ªB7?5•A7’E=‡A9„A9@:>8~>5<4<4€;4x<2x<2w;1w;1v:0u9/t:/t:/s9.r9.r9.r9.q8-n8,l6*k5)j81j81j81j81i70i70i70h6/g5.g5.g5.g6/h70i81k:3k:3l;4k:3i:0j;1k?2lB4iD2fE2fI7lVAjYEviV†l‘Ž{€mEF439/28.28.28.17-17-17-06,17-17-17-06,06,/5+/5+/5+/4./4./4./4./4./4./4./4./4./4..3--2,-2,.3-/4./4.*5-+6.-9//;12>24@46B47D38E3?L:ER>CQ:;I28F->L3ES:H`>Jb@LdBKc?Ia=G`9F_8G`9RkDXpL]uS^vVZqTPgK=T8,C)).2',0%*.heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVjcYkd\kd\md]meZmfVniUljSlkVlm]pqi€‚ž¡¨º¼ÈÃÍÏÜäçóûþûÿÿúþÿüýÿýýýüûùÿþüÿÿûÿþùûüôõöîîñæëîãçíáíñãðôåñôãòôßðòÜêêÐÙؼÈÇ«²±•¡¡‡‘“}‘’€œžª¢¶»´ÀÅ¿ÜÜÚééçööôûûùýýûÿÿýÿÿýýýûþþüþþüþþüþþüþþüþþüþþüþþüüúÿÿþÿÿþÿöòïûôîÿýóÿûíÿõäêı·ƒn”Q>¡P=¸XH¸L?¸D7ÀG<Ç>4ÉD;ÈH?¿F>°?9¢;6š=8–A>?;‡@<@<}@;z?9y@9x?8v?8v=4v=4v=4u<3s=3r<2r<2q;1o;0o;0o;0l:/k9.j8-j8-i7,n72n72m61l71l71k60i70i70l:3j92h70g6/f7/f7/h91h91j?6f>4e=1f>2hC3iE5gF3cG2cJ6hV@k\GskV‡‚nŽzor_9>*28.28.17-17-17-06,06,06,17-17-17-06,06,/5+/5+/5+.3-.3-.3-.3-.3-.3-.3-.3-.3-.3--2,-2,-2,-2,.3-.3-)4,)4,*6,+7-.:01=14@25A36C2:G5<I58E12@)2@)8F/?M4DX<G\=K`ALa@K`?I_;H^:H^:SiEZoN`uV`tXZnSNbI9M4(;%',/%*-$),heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVjcYkd\kd\md]meZmfVlgSkiRnmXop`svmƒ‡†£¨®¿ÃÎÍ×Ùçïòùÿÿûÿÿùýÿýþÿÿÿÿþýûÿÿûÿÿúþýø÷øðïñæçêßâæØÞäÖçëÚêïÛíðÛíïÙîîÖéçÎÚØ¿Îʱ½§¹´ ±®¶´§Á¾µÉÈÃÒÓÎÙÙ×èèæòòðúúøüüúýýûÿÿýÿÿýüüúþþüþþüþþüþþüþþüþþüþþüþþüÿûÿÿûÿÿúúûûùûÿùûÿøüÿôýÿíÿÿìõàËÈœcP–K8§L:¶O@»M>Æ=7ÈA;ÈD?ÀC?´<;©98 9:›==‘==Š>>„@?|A=xA<sB=rC=pC=s>6s>6s>6r=5p>5p>5p>5n>4n>4m=3l<2j;1j;1i:0i:0i:0p62p62p62o51m61m61k60i70l;4k:3h91e90e90e90e:1f;2dB6cA5cC4dD5fG5eH6cH3_I2^L6eV?jbKrmW„ƒn„‡r[`L3;&28.28.17-17-17-06,06,06,17-17-17-06,06,/5+/5+/5+.3-.3-.3-.3-.3-.3-.3-.3--2,-2,,1+,1+,1+,1+-2,-2,,6.+5-*4,*4++5,.8-0:/2=/2=-5@06A05A-1=)1=)5A+9E/=O5AS9FY=I\@J]?J]=K^>L_?TgG\oQcvZbtZYkSK]G6G4$5"&+.$),"'*heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTheVjcYkd\lc\md]meZlfVlgSljSlnXorasvm…„Ÿ¤ª¸¿ÉÖßäîöùùÿÿûÿÿùýÿþÿÿÿÿÿþýûÿÿûÿÿúüüôóõêëíâãçÙßãÕÜãÓäéÒçìÕéíÖêìÔëëÓèæÏßÚÄÔθÔͺÍƶËøÐÉÁÙÒÌàÛØëååòîïòòðùù÷ýýûýýûýýûÿÿýþþüüüúþþüþþüþþüþþüþþüþþüþþüþþüÿøüÿöùÿýýþÿý÷ÿýïÿøëÿõòÿøëúçÿÿíÿïÛ̧”£lX£ZGVCªM;ÁA8ÃB<ÃD>¿D?·?>;;£99œ:;–<<Ž>?…?=}@=wB<pC=mE=lF=q?8q?8q?8q?8p?8o>7o>7n?7o@8n?7m>6i=4h<3h<3h<3i=4r73q62q62p62o51m61l71j81h70g80e90e:1d<2f>4f@5gA6]C4aG8cL:dM;cM8`K6]K3]M4]Q9`Y?miPss[€„mt|eFO:2>(39/28.28.28.17-17-17-06,17-17-17-06,06,/5+/5+/5+-2,-2,-2,-2,-2,-2,-2,-2,-2,,1++0*+0*+0*+0*,1+-2,,6.,6.*4,*4+*4++5*-7,.9+-8*0;+4?/5@/4?.3>-3?+4@,7F/;J3@P6DT:GW<JZ?M]@O_BUeJ^nSdtZbqZXgRIXE4B1$2!&+.$),"'*heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheTjdVjcYkd\lc\md]meZlfVljUllTkmWjn]lrhy}•œ¢¯¶ÀÒÛàëòøùÿÿùþÿ÷ûþþÿÿÿÿÿúù÷ÿÿûþýøùùññóèéëÞãçØáåÖàç×äêÐçíÓèìÑçéÑèèÐçåÎáÚÇ×оÛÒÃÚÐÆÞÔËçÜØîäãóéêúñôÿøýùù÷þþüÿÿýýýûýýûÿÿýÿÿýüüúþþüþþüþþüþþüþþüþþüþþüþþüÿ÷÷ÿùùÿýýüÿÿôÿþêÿûíÿÿíÿýñÿúðûíÿþíÿûèôλva‘P:¦^H»I>ºH=ºH>ºG@·F@°C@¦=:97—<;‘=;ˆ>;€A<wB:sD<nF<lH<q?8q?8q?8q?8p?8p?8p?8p?8qB:pA9n?7j>5i=4j>5j>5k?6s63r73q62p62n72l71j81i81d8/d90c;1d>3d@4cA5cA5bB5VG4^O<gVBhWCbS<^O8[O5\R7]V<]Y>mmSsw^z‚jcmU2>(5C,4:039/39/39/28.28.28.17-17-17-17-06,06,/5+/5+/5+-2,-2,-2,-2,-2,-2,-2,-2,,1+,1++0**/)*/)+0*,1+,1++5-+5-*4,*4,+5,+5,,6+-7,,7)/:,2=/6A17B27B25@/4?.2?+5B.:G3>L5AO6ES:JX?M[BTbI]kTcqZ_lXUbPERA2>0#/#(..&,,$**heVheVheVheVheVheVheVheVheVheVheVheVheVheVheVheVjdTjdVjcYkd\lc\md]lfZlfVomXmmUimVgkZembr{xŽ—œ¨±ºÊÓØäëñöþÿ÷üÿøüÿþÿÿÿÿÿúù÷ÿÿúýýõøøîðòåéëÝåéÚåéØåìÚæíÎèïÐéîÐæéÎèæÏèãÏáÚÈÙÏÃÚÍÄßÒÌìÞÛúììÿôöÿõùÿõûÿøþýýûÿÿýÿÿýþþüþþüÿÿýÿÿýýýûþþüþþüþþüþþüþþüþþüþþüþþüÿüúÿýúÿûøùýüøÿÿôÿÿðÿÿêþüðÿûùÿûÿÿôÿöæÿôßÿãÍ×”¢sY°SA®Q?®N>°O?±OB¯J@¥C:š<4—<7‘>8‰?6ƒ@7{B7tD6qE8nG8s>:s>:s>:q>:q>:q>:q>:p?:sB=rA<p?:m>8l=7l=7m>8n?9r73r73q73n72m82j81i81f:1f;2d>3d@4bB5`C5]A3\@2[?1QI4[S>f^Gg_H`Y?ZS9ZS7\W:ZV;WW;knSrx^u}eUaI%37E.4:04:04:039/39/39/28.28.17-17-17-06,06,/5+/5+/5+-2,-2,-2,-2,-2,-2,-2,-2,,1++0*+0**/)*/)+0*+0*,1+)3+)3+*4,+5-+5,,6--7.-7,,6+.8-2=/6A39D69D67B46A1/<*2?-5B09F2<J3@N7FT=JXAR`I[iRanZ\iWQ^MBN@/;/!-!+1/(.,&,*heVheVheVheVheVheVheVheVifWifWifWifWifWifWifWifWkeUkeWkdZle]md]ne^mg[mgWqoZkmUkoXkr`jrgozv†‘•Ÿ©²»ÄÉÑØÞèðóöûÿúþÿþÿÿÿÿÿþýùÿÿúþþöúúîöøêô÷æðôãìñÝçïÚð÷ÖíòÒëîÑììÒèæÏáÜÉÝÕÈÞÔÊáÔÎèÚ×òääúëîÿñöÿ÷ûÿùÿÿúÿþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüÿþùÿþùþþüýÿþûÿÿúÿÿøÿÿúÿÿüÿÿÿÿÿÿü÷ÿüñÿýìÿûåÿóÛÿíÑÁe¦cI—O7 T=ªYF¤Q?ŸI:¢L?;0Œ=0‡=0=/x=/t?/rC3sE5s<9s<9t=:s>:u@<u@<t?;q>:s@<r?;q@;q@;p?:o>9o>9o>9n72n72n93m;4l;4j;3g<3d<2c?3^>1dG9cG9T=-O8(M8'D/TR;PN7KI0MK2]Y>ieJeaDVU7XX<]`CosXz€fcmT=I1,:#1?(5;15;14:04:04:039/39/39/39/39/39/28.17-17-17-06,16016005/05//4./4./4./4.,1+,1+,1+,1+,1+,1++0*+0*.5.-4--4-,3,-4--4-.5-.5-+2*-4,08-5=29A6=E:?G<AI>7B25@03>-1<+2>*9E/BN8IU?O[EVbN]hWYdTLWI<F;/90)3*)/-(.,'-+heVheVheVheVheVheVheVheVifWifWifWifWifWifWifWifWkeUkeWkdZmd]md]mf^mg[khWonYjlTjoXkr`jtiq|x‰”˜¡®¶¾ÇÌÓÚàéðö÷üÿûÿÿþÿÿþþüþýùÿÿúþþôûûï÷ùëô÷æðõáìñÛæî×êðÎæëËäçÊææÌãáÌßÙÉÝÕÊßÔÎçÙØíßßöçêýîóÿôøÿ÷ûÿúÿÿûÿþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüúÿùûÿúýÿüþþþÿýÿÿüÿÿúÿÿúÿÿûÿÿûÿÿúùÿüõÿþñÿÿìÿüãúöÛÿéÌß²•§uZ‘[A–ZB›YCœUAšQ>F5F4‰D4…D2}B0yB.s@-o?+v?:t=8u>9v?:t?9q<6r=7sA:q?8q?8q?8o>7o>7n=6n=6n=6l;4m<5m>6k?6j?6h@6eA5cA5dG9[A2^G7\I8N=+F7$G8%A4!IM4GK2DG,BE*MM1[[?abC`aBYY=dgJsw\sy_X`H8D,/;%6D-7=36<26<26<25;15;15;15;15;15;15;14:04:039/39/39/27127127116016016005/05/.3-.3--2,-2,,1+,1++0*+0**1**1*)0))0))0)*1*+2+,3,.5--4,.5-07/4;39@8?F>BIA:G69F56C13@.2?+5B.;I2?M6KXDR_KXeSVcRKWI<H<0<2*6,+1-*0,)/+heVheVheVheVheVheVheVheVifWifWifWifWifWifWifWifWkeUkeWlcZmd]md]mf^mg[khWmlWimTjoXktaiuiq}yŠ˜›¤³ºÀÉÐÕÜâëòø÷üÿúþÿýþÿþþüþýùÿÿ÷ýýóúûí÷úéô÷äïôÞéîØãëÓâèÆÞáÂÛÞÁÞÞÆÞÛÈÞÖËßÖÏäÙ×îâäóçëúîòÿôøÿ÷ûÿøüÿúýÿüÿþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþü÷ÿúøÿüúÿþþþÿÿûÿÿúÿÿøÿÿ÷ÿÿøÿÿùÿÿúúÿýøÿÿôÿÿñüÿíöþçÿóÙÿùÞÿíÓâÀ¥«ƒj‡YA…Q;“[D—]GR=€F2w=)t=)t@+vC.xE2s>8p;5q<6vA;sA:p>7r@9xG@n=6n=6n=6m>6l=5l=5l=5l=5g?5h@6gA6gC7eC7cC6`C5^D5aL;UB1ZI7`S@RG3C;&E=(GA+>G,BH.@F*<@%?B%LO2_`AijKaaEnqTvz_gmSHP84<%4=(=F18>48>48>48>47=37=37=36<28>48>47=37=37=36<26<26<25:449349349338238238227105/05//4..3--2,,1++0*+0*(/((/((/((/((/()0)*1*+2+070.5.+2++2+.5.5<5<C<AHA?L;>K:<I78E34A-2?+3A*5C,DQ=KXDQ^LQ^MHTF<H<2>4-9/-3/-3/,2.gdUgdUheVheVheVheVifWifWifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[khWmlWimThpXht`hthm|wˆ—š¥´»ÀÉÐÔÛáéðööûÿúþÿýþÿÿÿýÿþúþþöýýñúûí÷úéô÷âîóÝçìÕàèÐÜà¿×Ú»ÖÖ¼Ù×ÂÝ×ÉßÖÍåÛÙìàâøìðüïöÿõûÿùþÿúýÿûûÿûûÿýúþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüöÿþ÷ÿþúÿþþþÿÿüÿÿùÿÿøÿÿ÷þÿøÿÿøüÿùùÿýúÿÿøþÿøúÿõöÿóÿþìÿýéÿòßÿñÛÿðÚñÒ½³zyS<tJ2uH1wI2{M6~O;zK7o@.e8%{LBsD:qB8sD:qB8g;0d8-h<1j>3i?3i?3i?3f>2f>2f>2f>2aA4`C5`C5_C5^D5[D4ZE4VE3XI6OB/\T?oiSc^HMK4IG0LJ3;E*?H->G*<B&<A#FI,VY:deFmmQxx\tw\[_F@D-6;%8@+<D/9?59?59?58>48>47=37=37=39?58>48>48>48>48>48>48>47<67<67<66;56;56;55:45:438238216005//4.-2,,1+,1++0,+0,*/+*/++0,,1--2.-2.051.3/+0,+0,-2.2738=9<A=?L;@M<@M;=J88E13@,1?(0>'<I5BO;HUCIVEDPB;G;2>4.:0.5..5.-4-gdUgdUgdUheVheVifWifWifWifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[khWkmWjnUiqYgs_drejyt…”—¡²¹¾ÇÎÓÚâèïõôùýùýÿýþÿÿÿýÿÿúÿÿøÿÿóþÿñûþë÷úåðõÞèîÔàéÎÛܽÕÕ¹ÑÑ·ÔѾÚÔÈáØÓêàßôéíþóùÿöþÿûÿÿýÿÿþÿÿþúÿþúþÿùþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüøÿÿøÿÿûÿÿþþþÿýþÿûüÿûúÿúúÿùùÿù÷ÿù÷ÿüùÿÿûþÿûûÿüùÿûùôîÿÿöÿþôÿýóÿüîÿ÷çùçÓéӾϴŸ¶š„•u`yVBlI5mH6rM;uP>mF7iB3gB2jE5nI9oJ:pK;oK;eA1eA1cB1cB1cB1cB1cB1bC1\G6\G6\G6ZG6YH6WH5TG4RG3PH3MH2fdM~~fprZVX@IM4HL3;E*<F+?H+AG+AF(DG*MN/TU6xw[{z^nnTUU=AC-?A,>A.;>+9?59?59?58>48>47=37=37=38>48>48>48>48>48>48>48>49>89>89>88=78=78=77<67<66;55:449338227105//4./4.-2.-2.,1-+0,+0,,1--2.-2.,1-,1-,1-,1-.21043376598:H7=L9@O<@O:<K67F/4C,2A*6E.:I4@O<BP??M>8F91?2,9/.5.-4-,3,fcTfcTgdUheVheVifWjgXjgXifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[khWkmWioUiqYgs_bpcgxr‚”– ³¹ÁÊÑÕÜäéðöõúþùýÿýÿþÿÿýÿÿúÿÿöÿÿôÿÿñÿÿïúýèò÷àéïÕàéÎÙÚ»ÑѵÍË´Î˺ÖÏÅßÕÓìâãøíóÿöþÿùÿÿüÿÿýÿÿÿýþÿúýÿ÷þÿøþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüýýÿýþÿýþÿýÿþþþüþÿùþÿ÷ÿÿõýýóýýõþýøþýùÿþüÿýÿÿýÿÿþÿþùÿÿüÿÿúþúöõýøôÿþöÿþñÿþïÿûéÿóàöåÓåÓ¿Ò»©¹ŸŸƒuŽrd|]I}^JrVAaE0W;&Y=(Z?*X=(`E0`E0_F0_F0`G1`G1^H1^H1[L9ZM:ZM:XM9XM9UM8RL6QL6NL5QQ9ikS|€glrXSY?DM2>G,:G+<F+?H+DJ.EJ,DG*HI*ML.yx\tsWfdKTR;LJ5KJ6FE3<=+:@69?59?59?58>48>48>48>47=37=38>48>48>48>49?59?5:?9:?9:?9:?99>89>89>88=78=78=77<66;55:4493382382/40.3/-2.,1-+0,+0,+0,+0,+/.,0/-10.21/32/32/32.210A.5F3;M7>P:=O7:L47I/6H.3E-6H0:L6<M::K95F6/?2*:--4,-4,,3+fcTfcTgdUheVheVifWjgXjgXifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^mg[jiWjlVhnThrYfs_aqdhys…—™¤·½ÈÑØÛâêîõûøýÿúþÿýÿþÿÿýÿþùÿÿõÿÿóÿÿðüÿêøüåïõÛäêÐÛäÇÖÕ¹Î̳ÇÅ°ÊÄ´ÐÉÁÚÒÐêßãöìôÿ÷ÿÿúÿÿýÿÿþÿÿÿýûÿùüÿøûÿöþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüÿûÿÿüÿþýÿýÿþúÿúøÿ÷÷ÿó÷ÿò÷ÿòøÿóûÿøýÿúÿýþÿüÿÿûÿÿúÿýõÿÿúÿÿüÿÿýÿÿþÿýýûúûõ÷ùìÿÿóÿÿïÿÿïÿþíÿýíÿöçÿîâüêÞúäÍýçÐáË´¥xt^GdP8aM5\H0\J2\J2\J2]K3\L3]M4]M4]M4WO:WO:VP:VP:TO9QO8PN7NN6MO7PT;`fLfoTU^CEO4AK0:G+=J.?I.CL/HN2HM/FI,OP1YX:qmRjfKa]D[V@YT@TQ>MJ9EB1;A7;A7;A7;A7:@6:@6:@69?58>48>48>49?59?5:@6:@6:@6;@:;@:;@::?9:?99>89>89>8:?9:?99>89>88=78=77<67<6495273162/40-2.,1-+0,+/.,0/,0/-10.21.21.23-12,01):'/@-6H2;M5=O7<N4:L2:L25G-7I1:L6<M::K96G70@3+;..5--4,,3+fcTfcTgdUheVheVifWjgXjgXifWifWifWifWifWifWifWifWleUldWlcZmd]md]mf^kg[jiWikUhnThrYgt`brej{u‰›©¼ÂÎ×Þàçïòùÿúÿÿûÿÿýÿþþþüþýøúúðúúîúûë÷úåó÷àéïÕÞäÈÕÞÁÓÒ¶ÊȯÂÀ«Å¿±ËļÖÎÌæÝâôêòÿöÿÿùÿÿþÿÿÿÿýÿúûÿùûÿöûÿôþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüþþüÿùÿÿúÿÿüÿûÿþøÿúôÿõóÿòñÿðòÿñõÿóøÿöüÿûÿþÿÿüÿÿùÿÿøÿÿùÿÿúÿÿûÿÿýÿýýÿùýÿúÿûüÿúöüðùýîûüìýûìÿúìÿúîÿýñÿüñÿðÖÿûáíÜŸŽtaP6RB(XH.XH.[M2[M2\N3\N3[P4[P4\Q5\Q5TO9TO9TO9QO8PN7NN6KM5IM4JN5LR8S\AOY>?I.9F*?L0=J.AN2DN3HQ4LR6IN0JM0ZY;miLhdIc]C_YA_ZD`[GZUBQN=LI8=C9=C9=C9<B8<B8<B8;A7;A79?59?59?5:@6:@6;A7;A7;A7;@:;@:;@::?9:?99>89>89>8;@:;@:;@:;@::?9:?9:?9:?99>:8=95:6384162/40.3/.21.21.21-10-12,01,01-12-12$5"*<&3E/9K3<N6;M3;M3;M38J09K3;M7<M:<M;7H81B2,<//6..5--4,ZgM[hN\hP_iQakSckTfkWhkXfgUhgUheVheVjdVldWldYmeZjgVkhYkg[kg^kg^jf]hfZgeVfiVfkUenYbo^dqhsƒ‚–§®¶ÈÒÓÚàäéíò÷ú÷ýýùþúúÿøüÿôüþñöùèùúèø÷åòñÝïìÙìéÖáÞË×Ò¿Úͼ̿¯À²¥¿²©Â·³ÍÁÁÜÑ×êàèúòýüöÿþûÿÿþÿþýÿüýÿüýÿüýÿþþþþþþþþþþþþþþþþþþÿþüÿþüÿþüÿýúÿüùÿüùÿüùÿýùÿþúÿþúÿþýÿýüÿüûÿýþÿþÿÿþÿÿýþýûüÿþÿÿúúÿûøÿýøÿüöÿúòÿøïÿùñÿûÿÿýÿÿýþÿÿýÿÿûýÿüýÿþüýÿþÿÿÿþÿÿüÿÿýþÿý÷ÿþîÿÿæÿÿâööÜýûâãâƉnTO2UN1RL,SJ+WN/UO/UN1TO1SO2QP4QP4PP6QM2PO3QO6PP6MO7KO6HM6EM5HQ6FO4AJ-?F'@G&EK)GM)FL(ST2RS3MN.JK,TT8bbHccIZZB[YB\ZC][B][B[Z>XW9UT6SR3KE/JD.FA-D?,A>/@>1??3>@5<=5;>59?59A67B48C57C57D3:B79A69A68@58@59A69A6:B7:B7:B79A6:B7;C8<D9=E:>F;7B:7C97A66A16?.4<-39-270.5./51-7/-9+-<%.B3J7O7Z 8Y$8W+:U2:R8;P==O?>O=:L6@R8EX:EZ;DY:>U93J0(>'.5-,3++2*ZgM[hN\hP_iQakSckTglXhkXghVihVifWifWkeWmeXmeZnf[khWkhYkg[kg^jf]jf]hfZgeVgjWglVfoZerajwnzŠ‰š«²·ÉÓÑØÞáéìò÷úøþþùþúúÿøûþóúüï÷úé÷øæõôâíìØéæÓåâÏÜ×ÄÑ̹˾Á´¤º¬Ÿ¼¯§Á¶²ÌÀÀÛÐÖèÞæûóþý÷ÿþûÿÿþÿþýÿüýÿüýÿüýÿþþþþþþþþþþþþþþþþþþÿþüÿþüÿþüÿýúÿýúÿüùÿüùÿýùÿýùÿþúÿþýÿýüÿüûÿýþÿþÿÿþÿÿýþýûüÿþÿÿýýÿüùÿøóøíçòåÝöèßÿïçÿûÿÿýÿÿýþÿÿýÿÿûýÿüýÿþüýÿýþÿþýÿÿýÿÿýþÿý÷ÿþîÿÿæÿÿâ÷÷ßýûââàÇ‹‡lRM0TM0QK+SJ+WN/UO/UN1TO1SO2QP4QP4PP6QM2PO3PN5PP6MO7KO6HM6EM5HQ6EN3BK.AH)BI(GM+JP,KQ-NR/PT1VZ9^aBaaE[[?VV<UU=VV>VV>XV=YW>XW;XW9WV8VU7QK5OI3LG3ID1DA2B@3??3>@5<=5;>59?59A67B48C57C57D3:B79A69A68@58@59A69A6:B7:B7:B7:B7:B7;C8<D9=E:>F;<G?<H><F;;F6<E4:B39?38=67>76<83=51=/3B+9M*BY-Ia1Nq7Mn9Ji=Fa>AY?<Q>:L<:K9=O9DV<K^@LaBLaBF]A:Q7/E.-4,+2*)0(ZgM[hN\hP`jRakSdlUglXilYijXkjXkhYkhYlfXmgYnf[og\khWkhYkg[jf]jf]ie\hfZhfWgjWejTdmXgtco|sŽ›¬³³ÅÏÎÕÛÞåëñöúøþþúÿûùþ÷øûòõ÷êòõäðñßêé×áàÌÜÙÆ×ÔÁÐ˸ÆÁ®À³¢½° ½¯¤Ã¶®ËÀ¼ÖÊÌãØÞíãëüôÿý÷ÿþûÿÿþÿþýÿüýÿüýÿýÿþþþþþþþþþþþþþþþþþþþÿþüÿþüÿþüÿýúÿýúÿýúÿüùÿüøÿüøÿüøÿýüÿüûÿûúþüýÿþÿÿþÿÿýþþüýÿþÿÿýýÿýúüóîêßÙâÕÍëÝÔüëãÿûÿÿýÿÿýþÿÿýÿÿûýÿúýÿþüýÿýþÿþýÿÿþÿÿþÿÿý÷ÿýíÿþåÿþáøøàþüåáßƉ…jPK.RK.QJ-SJ+VM.UO/UN1UP2TP3QP4QP4OO3QM2ON2PN5OO5MO7KO6IN7FN6HQ6FO4CL/EL-FM,KQ/OU1SY5QY0W_8jpLy]qvVY^@LO4MO7QQ9QQ9QQ9SQ8TR9UT8WV:ZV;XR<VP:RM9NI6HE6DB5AA5?A6<=5;>5:@69A67B47B47C57D3:B7:B79A69A69A69A6:B7:B7:B7:B7:B7:B7;C8<D9>F;>F;>IA>J@?I>>I9?H7>F7>D8=B;>E>;A=6@85A39H1BV3Pg;ZrB]€F\}HVuIMhEBZ@9N;5G74E3<N8EW=NaCRgHShILcG@W=4J3180/6.-4,YgM[hN\hP^jRblTemVhmYjmZklZklZlj[liZnhZnhZog\ph]liXkhYjfZjf]ie\ie\hfZhfWehUbgQajUerao|s~Ž”¥¬¨ºÄÈÏ×Úáçìô÷öûþ÷ýûõúôóöíïñäèêÜãäÒÜÛÉÔѾÎ˸ËƳþ«¼·¤Ä·¦ÇºªÎÀµÖÉÁßÔÐêÞàóèîúðùýõÿþøÿÿüÿþýÿýüÿüýÿüþýýÿþþþþþþþþþþþþþþþþþþþÿþüÿþüþýûÿýúÿýúÿýúÿýúÿüøÿû÷ÿû÷ÿýüÿüûþúùýûüÿýþÿþÿÿýþþüýÿüýÿýýÿýúýôïíâÜæÙÑðâÙÿðèÿûÿÿýÿÿýþÿÿýÿÿûýÿúýÿüüýÿýþÿþýÿÿþÿÿþýÿþõÿýíÿýäÿüßûûãÿþçâàÇŠ†mPJ0SL0SL/UL-VM.UO/VO2UP2TP3QP4PO3NN2PL1NM1OM4NN4LN6KO6JO8HP8JS8GP5GP3KR3MT3PV4V\8]c?fsGtU‡”i›s…lnuTZaBRV;LN6NN6MM5NL5OM6TP7WS:YU<ZT>XR<TO;QL9KH9GE8CC7@B7=>6<?6:@69A67B47B46B46C2;C8:B79A69A69A69A6:B7;C8;C8:B7:B7;C8;C8=E:>F;?G<<G?<H>>H=>I9?H7>F7>D8=B;=D=;A=6@85A39H1DX5Ri=]uEY|BXyDRqEIdA<T:2G4.@0->,6H2@R8L_AQfGShIMdH@W=4J329107/-4,YgMZhN\hP^jRblTemVgoZjo[lo\lm[mk\mj[nhZnhZoi]ph]liXkhYjfZie\ie\ie\ig[igXfiVchRajUerao|s{‹ŠŽŸ¦Ÿ±»ÂËÒÕÜäéðöòúüôúøñöðíðçéëÞáãÕÚÛËÒÑ¿ÌɶÉıþ«¾¹¦»´¢Ë¾®ÓŸÝÏÄæÙÑíâà÷ëíÿôúÿøÿÿ÷ÿÿúÿÿüÿþýÿýüÿûüþüþýþÿÿþþþþþþþþþþþþþþþþþþÿþüÿþüþýûÿüùÿýúÿýúÿýúÿû÷ÿúöþùõÿýüÿûúýùøüúûþüýÿýþÿþÿÿýþÿüýÿüüÿüùÿøó÷ìæòåÝøêáÿóëÿûÿÿýÿÿýþÿÿûÿÿûýÿúýÿüüýÿüýÿþýÿÿþÿÿþýÿþõÿüìÿüãÿúÝþýèÿÿëåãÌŒˆoRL2UN2TM0WN1VM.UO/WP3VQ3UQ4QP2ON2MM1PL1NM1NL3MM3LN6LP7KP9JR:LU:IR7JS6QX9SZ9U[9]c?gmI€”a’¦sŸ±š«’¡xˆ”pr|Z\bFLP7KM7LK6KI4NI5PK7TM:VP:WQ;VP:SN:QL9LI:IG:EE9CE:=>6<?6:@69A67B47B46B46C2;C8;C8:B79A69A6:B7;C8;C8;C8;C8;C8;C8<D9=E:>F;?G<<G?<H>=G<=H8>G6=E6=C7=B;:A:9?;5?75A39H1BV3Ne9Wo?Sv<St?NmAE`=8P6-B/*<,+<*1C-<N4H[=OdERgHLcG@W=3I2.5-+2*'.& \ No newline at end of file |
diff --git a/gs/jpeg/transupp.c b/gs/jpeg/transupp.c index 016f383d4..525932a31 100644 --- a/gs/jpeg/transupp.c +++ b/gs/jpeg/transupp.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * transupp.c | 2 | * transupp.c |
3 | * | 3 | * |
4 | * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. | 4 | * Copyright (C) 1997-2013, Thomas G. Lane, Guido Vollbeding. |
5 | * This file is part of the Independent JPEG Group's software. | 5 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 6 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 7 | * |
@@ -114,6 +114,116 @@ do_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | |||
114 | 114 | ||
115 | 115 | ||
116 | LOCAL(void) | 116 | LOCAL(void) |
117 | do_crop_ext (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
118 | JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
119 | jvirt_barray_ptr *src_coef_arrays, | ||
120 | jvirt_barray_ptr *dst_coef_arrays) | ||
121 | /* Crop. This is only used when no rotate/flip is requested with the crop. | ||
122 | * Extension: If the destination size is larger than the source, we fill in | ||
123 | * the extra area with zero (neutral gray). Note we also have to zero partial | ||
124 | * iMCUs at the right and bottom edge of the source image area in this case. | ||
125 | */ | ||
126 | { | ||
127 | JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height; | ||
128 | JDIMENSION dst_blk_y, x_crop_blocks, y_crop_blocks; | ||
129 | int ci, offset_y; | ||
130 | JBLOCKARRAY src_buffer, dst_buffer; | ||
131 | jpeg_component_info *compptr; | ||
132 | |||
133 | MCU_cols = srcinfo->output_width / | ||
134 | (dstinfo->max_h_samp_factor * dstinfo->min_DCT_h_scaled_size); | ||
135 | MCU_rows = srcinfo->output_height / | ||
136 | (dstinfo->max_v_samp_factor * dstinfo->min_DCT_v_scaled_size); | ||
137 | |||
138 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
139 | compptr = dstinfo->comp_info + ci; | ||
140 | comp_width = MCU_cols * compptr->h_samp_factor; | ||
141 | comp_height = MCU_rows * compptr->v_samp_factor; | ||
142 | x_crop_blocks = x_crop_offset * compptr->h_samp_factor; | ||
143 | y_crop_blocks = y_crop_offset * compptr->v_samp_factor; | ||
144 | for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks; | ||
145 | dst_blk_y += compptr->v_samp_factor) { | ||
146 | dst_buffer = (*srcinfo->mem->access_virt_barray) | ||
147 | ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y, | ||
148 | (JDIMENSION) compptr->v_samp_factor, TRUE); | ||
149 | if (dstinfo->jpeg_height > srcinfo->output_height) { | ||
150 | if (dst_blk_y < y_crop_blocks || | ||
151 | dst_blk_y >= comp_height + y_crop_blocks) { | ||
152 | for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
153 | FMEMZERO(dst_buffer[offset_y], | ||
154 | compptr->width_in_blocks * SIZEOF(JBLOCK)); | ||
155 | } | ||
156 | continue; | ||
157 | } | ||
158 | src_buffer = (*srcinfo->mem->access_virt_barray) | ||
159 | ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
160 | dst_blk_y - y_crop_blocks, | ||
161 | (JDIMENSION) compptr->v_samp_factor, FALSE); | ||
162 | } else { | ||
163 | src_buffer = (*srcinfo->mem->access_virt_barray) | ||
164 | ((j_common_ptr) srcinfo, src_coef_arrays[ci], | ||
165 | dst_blk_y + y_crop_blocks, | ||
166 | (JDIMENSION) compptr->v_samp_factor, FALSE); | ||
167 | } | ||
168 | for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
169 | if (dstinfo->jpeg_width > srcinfo->output_width) { | ||
170 | if (x_crop_blocks > 0) { | ||
171 | FMEMZERO(dst_buffer[offset_y], | ||
172 | x_crop_blocks * SIZEOF(JBLOCK)); | ||
173 | } | ||
174 | jcopy_block_row(src_buffer[offset_y], | ||
175 | dst_buffer[offset_y] + x_crop_blocks, | ||
176 | comp_width); | ||
177 | if (compptr->width_in_blocks > comp_width + x_crop_blocks) { | ||
178 | FMEMZERO(dst_buffer[offset_y] + | ||
179 | comp_width + x_crop_blocks, | ||
180 | (compptr->width_in_blocks - | ||
181 | comp_width - x_crop_blocks) * SIZEOF(JBLOCK)); | ||
182 | } | ||
183 | } else { | ||
184 | jcopy_block_row(src_buffer[offset_y] + x_crop_blocks, | ||
185 | dst_buffer[offset_y], | ||
186 | compptr->width_in_blocks); | ||
187 | } | ||
188 | } | ||
189 | } | ||
190 | } | ||
191 | } | ||
192 | |||
193 | |||
194 | LOCAL(void) | ||
195 | do_wipe (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | ||
196 | JDIMENSION x_crop_offset, JDIMENSION y_crop_offset, | ||
197 | jvirt_barray_ptr *src_coef_arrays, | ||
198 | JDIMENSION drop_width, JDIMENSION drop_height) | ||
199 | /* Wipe - drop content of specified area, fill with zero (neutral gray) */ | ||
200 | { | ||
201 | JDIMENSION comp_width, comp_height; | ||
202 | JDIMENSION blk_y, x_wipe_blocks, y_wipe_blocks; | ||
203 | int ci, offset_y; | ||
204 | JBLOCKARRAY buffer; | ||
205 | jpeg_component_info *compptr; | ||
206 | |||
207 | for (ci = 0; ci < dstinfo->num_components; ci++) { | ||
208 | compptr = dstinfo->comp_info + ci; | ||
209 | comp_width = drop_width * compptr->h_samp_factor; | ||
210 | comp_height = drop_height * compptr->v_samp_factor; | ||
211 | x_wipe_blocks = x_crop_offset * compptr->h_samp_factor; | ||
212 | y_wipe_blocks = y_crop_offset * compptr->v_samp_factor; | ||
213 | for (blk_y = 0; blk_y < comp_height; blk_y += compptr->v_samp_factor) { | ||
214 | buffer = (*srcinfo->mem->access_virt_barray) | ||
215 | ((j_common_ptr) srcinfo, src_coef_arrays[ci], blk_y + y_wipe_blocks, | ||
216 | (JDIMENSION) compptr->v_samp_factor, TRUE); | ||
217 | for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) { | ||
218 | FMEMZERO(buffer[offset_y] + x_wipe_blocks, | ||
219 | comp_width * SIZEOF(JBLOCK)); | ||
220 | } | ||
221 | } | ||
222 | } | ||
223 | } | ||
224 | |||
225 | |||
226 | LOCAL(void) | ||
117 | do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, | 227 | do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo, |
118 | JDIMENSION x_crop_offset, | 228 | JDIMENSION x_crop_offset, |
119 | jvirt_barray_ptr *src_coef_arrays) | 229 | jvirt_barray_ptr *src_coef_arrays) |
@@ -888,7 +998,8 @@ jtransform_request_workspace (j_decompress_ptr srcinfo, | |||
888 | 998 | ||
889 | /* Determine number of components in output image */ | 999 | /* Determine number of components in output image */ |
890 | if (info->force_grayscale && | 1000 | if (info->force_grayscale && |
891 | srcinfo->jpeg_color_space == JCS_YCbCr && | 1001 | (srcinfo->jpeg_color_space == JCS_YCbCr || |
1002 | srcinfo->jpeg_color_space == JCS_BG_YCC) && | ||
892 | srcinfo->num_components == 3) | 1003 | srcinfo->num_components == 3) |
893 | /* We'll only process the first component */ | 1004 | /* We'll only process the first component */ |
894 | info->num_components = 1; | 1005 | info->num_components = 1; |
@@ -965,39 +1076,81 @@ jtransform_request_workspace (j_decompress_ptr srcinfo, | |||
965 | info->crop_xoffset = 0; /* default to +0 */ | 1076 | info->crop_xoffset = 0; /* default to +0 */ |
966 | if (info->crop_yoffset_set == JCROP_UNSET) | 1077 | if (info->crop_yoffset_set == JCROP_UNSET) |
967 | info->crop_yoffset = 0; /* default to +0 */ | 1078 | info->crop_yoffset = 0; /* default to +0 */ |
968 | if (info->crop_xoffset >= info->output_width || | 1079 | if (info->crop_width_set == JCROP_UNSET) { |
969 | info->crop_yoffset >= info->output_height) | 1080 | if (info->crop_xoffset >= info->output_width) |
970 | ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); | 1081 | ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); |
971 | if (info->crop_width_set == JCROP_UNSET) | ||
972 | info->crop_width = info->output_width - info->crop_xoffset; | 1082 | info->crop_width = info->output_width - info->crop_xoffset; |
973 | if (info->crop_height_set == JCROP_UNSET) | 1083 | } else { |
1084 | /* Check for crop extension */ | ||
1085 | if (info->crop_width > info->output_width) { | ||
1086 | /* Crop extension does not work when transforming! */ | ||
1087 | if (info->transform != JXFORM_NONE || | ||
1088 | info->crop_xoffset >= info->crop_width || | ||
1089 | info->crop_xoffset > info->crop_width - info->output_width) | ||
1090 | ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); | ||
1091 | } else { | ||
1092 | if (info->crop_xoffset >= info->output_width || | ||
1093 | info->crop_width <= 0 || | ||
1094 | info->crop_xoffset > info->output_width - info->crop_width) | ||
1095 | ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); | ||
1096 | } | ||
1097 | } | ||
1098 | if (info->crop_height_set == JCROP_UNSET) { | ||
1099 | if (info->crop_yoffset >= info->output_height) | ||
1100 | ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); | ||
974 | info->crop_height = info->output_height - info->crop_yoffset; | 1101 | info->crop_height = info->output_height - info->crop_yoffset; |
975 | /* Ensure parameters are valid */ | 1102 | } else { |
976 | if (info->crop_width <= 0 || info->crop_width > info->output_width || | 1103 | /* Check for crop extension */ |
977 | info->crop_height <= 0 || info->crop_height > info->output_height || | 1104 | if (info->crop_height > info->output_height) { |
978 | info->crop_xoffset > info->output_width - info->crop_width || | 1105 | /* Crop extension does not work when transforming! */ |
979 | info->crop_yoffset > info->output_height - info->crop_height) | 1106 | if (info->transform != JXFORM_NONE || |
980 | ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); | 1107 | info->crop_yoffset >= info->crop_height || |
1108 | info->crop_yoffset > info->crop_height - info->output_height) | ||
1109 | ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); | ||
1110 | } else { | ||
1111 | if (info->crop_yoffset >= info->output_height || | ||
1112 | info->crop_height <= 0 || | ||
1113 | info->crop_yoffset > info->output_height - info->crop_height) | ||
1114 | ERREXIT(srcinfo, JERR_BAD_CROP_SPEC); | ||
1115 | } | ||
1116 | } | ||
981 | /* Convert negative crop offsets into regular offsets */ | 1117 | /* Convert negative crop offsets into regular offsets */ |
982 | if (info->crop_xoffset_set == JCROP_NEG) | 1118 | if (info->crop_xoffset_set != JCROP_NEG) |
983 | xoffset = info->output_width - info->crop_width - info->crop_xoffset; | ||
984 | else | ||
985 | xoffset = info->crop_xoffset; | 1119 | xoffset = info->crop_xoffset; |
986 | if (info->crop_yoffset_set == JCROP_NEG) | 1120 | else if (info->crop_width > info->output_width) /* crop extension */ |
987 | yoffset = info->output_height - info->crop_height - info->crop_yoffset; | 1121 | xoffset = info->crop_width - info->output_width - info->crop_xoffset; |
988 | else | 1122 | else |
1123 | xoffset = info->output_width - info->crop_width - info->crop_xoffset; | ||
1124 | if (info->crop_yoffset_set != JCROP_NEG) | ||
989 | yoffset = info->crop_yoffset; | 1125 | yoffset = info->crop_yoffset; |
990 | /* Now adjust so that upper left corner falls at an iMCU boundary */ | 1126 | else if (info->crop_height > info->output_height) /* crop extension */ |
991 | if (info->crop_width_set == JCROP_FORCE) | 1127 | yoffset = info->crop_height - info->output_height - info->crop_yoffset; |
992 | info->output_width = info->crop_width; | ||
993 | else | ||
994 | info->output_width = | ||
995 | info->crop_width + (xoffset % info->iMCU_sample_width); | ||
996 | if (info->crop_height_set == JCROP_FORCE) | ||
997 | info->output_height = info->crop_height; | ||
998 | else | 1128 | else |
999 | info->output_height = | 1129 | yoffset = info->output_height - info->crop_height - info->crop_yoffset; |
1000 | info->crop_height + (yoffset % info->iMCU_sample_height); | 1130 | /* Now adjust so that upper left corner falls at an iMCU boundary */ |
1131 | if (info->transform == JXFORM_WIPE) { | ||
1132 | /* Ensure the effective wipe region will cover the requested */ | ||
1133 | info->drop_width = (JDIMENSION) jdiv_round_up | ||
1134 | ((long) (info->crop_width + (xoffset % info->iMCU_sample_width)), | ||
1135 | (long) info->iMCU_sample_width); | ||
1136 | info->drop_height = (JDIMENSION) jdiv_round_up | ||
1137 | ((long) (info->crop_height + (yoffset % info->iMCU_sample_height)), | ||
1138 | (long) info->iMCU_sample_height); | ||
1139 | } else { | ||
1140 | /* Ensure the effective crop region will cover the requested */ | ||
1141 | if (info->crop_width_set == JCROP_FORCE || | ||
1142 | info->crop_width > info->output_width) | ||
1143 | info->output_width = info->crop_width; | ||
1144 | else | ||
1145 | info->output_width = | ||
1146 | info->crop_width + (xoffset % info->iMCU_sample_width); | ||
1147 | if (info->crop_height_set == JCROP_FORCE || | ||
1148 | info->crop_height > info->output_height) | ||
1149 | info->output_height = info->crop_height; | ||
1150 | else | ||
1151 | info->output_height = | ||
1152 | info->crop_height + (yoffset % info->iMCU_sample_height); | ||
1153 | } | ||
1001 | /* Save x/y offsets measured in iMCUs */ | 1154 | /* Save x/y offsets measured in iMCUs */ |
1002 | info->x_crop_offset = xoffset / info->iMCU_sample_width; | 1155 | info->x_crop_offset = xoffset / info->iMCU_sample_width; |
1003 | info->y_crop_offset = yoffset / info->iMCU_sample_height; | 1156 | info->y_crop_offset = yoffset / info->iMCU_sample_height; |
@@ -1013,7 +1166,9 @@ jtransform_request_workspace (j_decompress_ptr srcinfo, | |||
1013 | transpose_it = FALSE; | 1166 | transpose_it = FALSE; |
1014 | switch (info->transform) { | 1167 | switch (info->transform) { |
1015 | case JXFORM_NONE: | 1168 | case JXFORM_NONE: |
1016 | if (info->x_crop_offset != 0 || info->y_crop_offset != 0) | 1169 | if (info->x_crop_offset != 0 || info->y_crop_offset != 0 || |
1170 | info->output_width > srcinfo->output_width || | ||
1171 | info->output_height > srcinfo->output_height) | ||
1017 | need_workspace = TRUE; | 1172 | need_workspace = TRUE; |
1018 | /* No workspace needed if neither cropping nor transforming */ | 1173 | /* No workspace needed if neither cropping nor transforming */ |
1019 | break; | 1174 | break; |
@@ -1067,6 +1222,8 @@ jtransform_request_workspace (j_decompress_ptr srcinfo, | |||
1067 | need_workspace = TRUE; | 1222 | need_workspace = TRUE; |
1068 | transpose_it = TRUE; | 1223 | transpose_it = TRUE; |
1069 | break; | 1224 | break; |
1225 | case JXFORM_WIPE: | ||
1226 | break; | ||
1070 | } | 1227 | } |
1071 | 1228 | ||
1072 | /* Allocate workspace if needed. | 1229 | /* Allocate workspace if needed. |
@@ -1076,7 +1233,7 @@ jtransform_request_workspace (j_decompress_ptr srcinfo, | |||
1076 | if (need_workspace) { | 1233 | if (need_workspace) { |
1077 | coef_arrays = (jvirt_barray_ptr *) | 1234 | coef_arrays = (jvirt_barray_ptr *) |
1078 | (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE, | 1235 | (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE, |
1079 | SIZEOF(jvirt_barray_ptr) * info->num_components); | 1236 | SIZEOF(jvirt_barray_ptr) * info->num_components); |
1080 | width_in_iMCUs = (JDIMENSION) | 1237 | width_in_iMCUs = (JDIMENSION) |
1081 | jdiv_round_up((long) info->output_width, | 1238 | jdiv_round_up((long) info->output_width, |
1082 | (long) info->iMCU_sample_width); | 1239 | (long) info->iMCU_sample_width); |
@@ -1327,12 +1484,13 @@ jtransform_adjust_parameters (j_decompress_ptr srcinfo, | |||
1327 | { | 1484 | { |
1328 | /* If force-to-grayscale is requested, adjust destination parameters */ | 1485 | /* If force-to-grayscale is requested, adjust destination parameters */ |
1329 | if (info->force_grayscale) { | 1486 | if (info->force_grayscale) { |
1330 | /* First, ensure we have YCbCr or grayscale data, and that the source's | 1487 | /* First, ensure we have YCC or grayscale data, and that the source's |
1331 | * Y channel is full resolution. (No reasonable person would make Y | 1488 | * Y channel is full resolution. (No reasonable person would make Y |
1332 | * be less than full resolution, so actually coping with that case | 1489 | * be less than full resolution, so actually coping with that case |
1333 | * isn't worth extra code space. But we check it to avoid crashing.) | 1490 | * isn't worth extra code space. But we check it to avoid crashing.) |
1334 | */ | 1491 | */ |
1335 | if (((dstinfo->jpeg_color_space == JCS_YCbCr && | 1492 | if ((((dstinfo->jpeg_color_space == JCS_YCbCr || |
1493 | dstinfo->jpeg_color_space == JCS_BG_YCC) && | ||
1336 | dstinfo->num_components == 3) || | 1494 | dstinfo->num_components == 3) || |
1337 | (dstinfo->jpeg_color_space == JCS_GRAYSCALE && | 1495 | (dstinfo->jpeg_color_space == JCS_GRAYSCALE && |
1338 | dstinfo->num_components == 1)) && | 1496 | dstinfo->num_components == 1)) && |
@@ -1427,7 +1585,11 @@ jtransform_execute_transform (j_decompress_ptr srcinfo, | |||
1427 | */ | 1585 | */ |
1428 | switch (info->transform) { | 1586 | switch (info->transform) { |
1429 | case JXFORM_NONE: | 1587 | case JXFORM_NONE: |
1430 | if (info->x_crop_offset != 0 || info->y_crop_offset != 0) | 1588 | if (info->output_width > srcinfo->output_width || |
1589 | info->output_height > srcinfo->output_height) | ||
1590 | do_crop_ext(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
1591 | src_coef_arrays, dst_coef_arrays); | ||
1592 | else if (info->x_crop_offset != 0 || info->y_crop_offset != 0) | ||
1431 | do_crop(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | 1593 | do_crop(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, |
1432 | src_coef_arrays, dst_coef_arrays); | 1594 | src_coef_arrays, dst_coef_arrays); |
1433 | break; | 1595 | break; |
@@ -1463,6 +1625,10 @@ jtransform_execute_transform (j_decompress_ptr srcinfo, | |||
1463 | do_rot_270(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | 1625 | do_rot_270(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, |
1464 | src_coef_arrays, dst_coef_arrays); | 1626 | src_coef_arrays, dst_coef_arrays); |
1465 | break; | 1627 | break; |
1628 | case JXFORM_WIPE: | ||
1629 | do_wipe(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset, | ||
1630 | src_coef_arrays, info->drop_width, info->drop_height); | ||
1631 | break; | ||
1466 | } | 1632 | } |
1467 | } | 1633 | } |
1468 | 1634 | ||
diff --git a/gs/jpeg/transupp.h b/gs/jpeg/transupp.h index 9aa0af385..eee693141 100644 --- a/gs/jpeg/transupp.h +++ b/gs/jpeg/transupp.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * transupp.h | 2 | * transupp.h |
3 | * | 3 | * |
4 | * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. | 4 | * Copyright (C) 1997-2013, Thomas G. Lane, Guido Vollbeding. |
5 | * This file is part of the Independent JPEG Group's software. | 5 | * This file is part of the Independent JPEG Group's software. |
6 | * For conditions of distribution and use, see the accompanying README file. | 6 | * For conditions of distribution and use, see the accompanying README file. |
7 | * | 7 | * |
@@ -51,14 +51,17 @@ | |||
51 | * | 51 | * |
52 | * We also offer a lossless-crop option, which discards data outside a given | 52 | * We also offer a lossless-crop option, which discards data outside a given |
53 | * image region but losslessly preserves what is inside. Like the rotate and | 53 | * image region but losslessly preserves what is inside. Like the rotate and |
54 | * flip transforms, lossless crop is restricted by the JPEG format: the upper | 54 | * flip transforms, lossless crop is restricted by the current JPEG format: the |
55 | * left corner of the selected region must fall on an iMCU boundary. If this | 55 | * upper left corner of the selected region must fall on an iMCU boundary. If |
56 | * does not hold for the given crop parameters, we silently move the upper left | 56 | * this does not hold for the given crop parameters, we silently move the upper |
57 | * corner up and/or left to make it so, simultaneously increasing the region | 57 | * left corner up and/or left to make it so, simultaneously increasing the |
58 | * dimensions to keep the lower right crop corner unchanged. (Thus, the | 58 | * region dimensions to keep the lower right crop corner unchanged. (Thus, the |
59 | * output image covers at least the requested region, but may cover more.) | 59 | * output image covers at least the requested region, but may cover more.) |
60 | * The adjustment of the region dimensions may be optionally disabled. | 60 | * The adjustment of the region dimensions may be optionally disabled. |
61 | * | 61 | * |
62 | * A complementary lossless-wipe option is provided to discard (gray out) data | ||
63 | * inside a given image region while losslessly preserving what is outside. | ||
64 | * | ||
62 | * We also provide a lossless-resize option, which is kind of a lossless-crop | 65 | * We also provide a lossless-resize option, which is kind of a lossless-crop |
63 | * operation in the DCT coefficient block domain - it discards higher-order | 66 | * operation in the DCT coefficient block domain - it discards higher-order |
64 | * coefficients and losslessly preserves lower-order coefficients of a | 67 | * coefficients and losslessly preserves lower-order coefficients of a |
@@ -102,7 +105,8 @@ typedef enum { | |||
102 | JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */ | 105 | JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */ |
103 | JXFORM_ROT_90, /* 90-degree clockwise rotation */ | 106 | JXFORM_ROT_90, /* 90-degree clockwise rotation */ |
104 | JXFORM_ROT_180, /* 180-degree rotation */ | 107 | JXFORM_ROT_180, /* 180-degree rotation */ |
105 | JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */ | 108 | JXFORM_ROT_270, /* 270-degree clockwise (or 90 ccw) */ |
109 | JXFORM_WIPE /* wipe */ | ||
106 | } JXFORM_CODE; | 110 | } JXFORM_CODE; |
107 | 111 | ||
108 | /* | 112 | /* |
@@ -130,7 +134,7 @@ typedef struct { | |||
130 | boolean perfect; /* if TRUE, fail if partial MCUs are requested */ | 134 | boolean perfect; /* if TRUE, fail if partial MCUs are requested */ |
131 | boolean trim; /* if TRUE, trim partial MCUs as needed */ | 135 | boolean trim; /* if TRUE, trim partial MCUs as needed */ |
132 | boolean force_grayscale; /* if TRUE, convert color image to grayscale */ | 136 | boolean force_grayscale; /* if TRUE, convert color image to grayscale */ |
133 | boolean crop; /* if TRUE, crop source image */ | 137 | boolean crop; /* if TRUE, crop or wipe source image */ |
134 | 138 | ||
135 | /* Crop parameters: application need not set these unless crop is TRUE. | 139 | /* Crop parameters: application need not set these unless crop is TRUE. |
136 | * These can be filled in by jtransform_parse_crop_spec(). | 140 | * These can be filled in by jtransform_parse_crop_spec(). |
@@ -151,6 +155,8 @@ typedef struct { | |||
151 | JDIMENSION output_height; | 155 | JDIMENSION output_height; |
152 | JDIMENSION x_crop_offset; /* destination crop offsets measured in iMCUs */ | 156 | JDIMENSION x_crop_offset; /* destination crop offsets measured in iMCUs */ |
153 | JDIMENSION y_crop_offset; | 157 | JDIMENSION y_crop_offset; |
158 | JDIMENSION drop_width; /* drop/wipe dimensions measured in iMCUs */ | ||
159 | JDIMENSION drop_height; | ||
154 | int iMCU_sample_width; /* destination iMCU size */ | 160 | int iMCU_sample_width; /* destination iMCU size */ |
155 | int iMCU_sample_height; | 161 | int iMCU_sample_height; |
156 | } jpeg_transform_info; | 162 | } jpeg_transform_info; |
diff --git a/gs/jpeg/usage.txt b/gs/jpeg/usage.txt index de9def717..75140e59c 100644 --- a/gs/jpeg/usage.txt +++ b/gs/jpeg/usage.txt | |||
@@ -80,8 +80,9 @@ The basic command line switches for cjpeg are: | |||
80 | -rgb Create RGB JPEG file. | 80 | -rgb Create RGB JPEG file. |
81 | Using this switch suppresses the conversion from RGB | 81 | Using this switch suppresses the conversion from RGB |
82 | colorspace input to the default YCbCr JPEG colorspace. | 82 | colorspace input to the default YCbCr JPEG colorspace. |
83 | Use this switch in combination with the -block N | 83 | You can use this switch in combination with the |
84 | switch (see below) for lossless JPEG coding. | 84 | -block N switch (see below) for lossless JPEG coding. |
85 | See also the -rgb1 switch below. | ||
85 | 86 | ||
86 | -optimize Perform optimization of entropy encoding parameters. | 87 | -optimize Perform optimization of entropy encoding parameters. |
87 | Without this, default encoding parameters are used. | 88 | Without this, default encoding parameters are used. |
@@ -157,10 +158,10 @@ file size is about the same --- often a little smaller. | |||
157 | 158 | ||
158 | Switches for advanced users: | 159 | Switches for advanced users: |
159 | 160 | ||
160 | -arithmetic Use arithmetic coding. CAUTION: arithmetic coded JPEG | 161 | -arithmetic Use arithmetic coding. |
161 | is not yet widely implemented, so many decoders will | 162 | CAUTION: arithmetic coded JPEG is not yet widely |
162 | be unable to view an arithmetic coded JPEG file at | 163 | implemented, so many decoders will be unable to |
163 | all. | 164 | view an arithmetic coded JPEG file at all. |
164 | 165 | ||
165 | -block N Set DCT block size. All N from 1 to 16 are possible. | 166 | -block N Set DCT block size. All N from 1 to 16 are possible. |
166 | Default is 8 (baseline format). | 167 | Default is 8 (baseline format). |
@@ -175,6 +176,37 @@ Switches for advanced users: | |||
175 | decoders will be unable to view a SmartScale extended | 176 | decoders will be unable to view a SmartScale extended |
176 | JPEG file at all. | 177 | JPEG file at all. |
177 | 178 | ||
179 | -rgb1 Create RGB JPEG file with reversible color transform. | ||
180 | Works like the -rgb switch (see above) and inserts a | ||
181 | simple reversible color transform into the processing | ||
182 | which significantly improves the compression. | ||
183 | Use this switch in combination with the -block N | ||
184 | switch (see above) for lossless JPEG coding. | ||
185 | CAUTION: A decoder with inverse color transform | ||
186 | support is required for this feature. Reversible | ||
187 | color transform support is not yet widely implemented, | ||
188 | so many decoders will be unable to view a reversible | ||
189 | color transformed JPEG file at all. | ||
190 | |||
191 | -bgycc Create big gamut YCC JPEG file. | ||
192 | In this type of encoding the color difference | ||
193 | components are quantized further by a factor of 2 | ||
194 | compared to the normal Cb/Cr values, thus creating | ||
195 | space to allow larger color values with higher | ||
196 | saturation than the normal gamut limits to be encoded. | ||
197 | In order to compensate for the loss of color fidelity | ||
198 | compared to a normal YCC encoded file, the color | ||
199 | quantization tables can be adjusted accordingly. | ||
200 | For example, cjpeg -bgycc -quality 80,90 will give | ||
201 | similar results as cjpeg -quality 80. | ||
202 | CAUTION: For correct decompression a decoder with big | ||
203 | gamut YCC support (JFIF version 2) is required. | ||
204 | An old decoder may or may not display a big gamut YCC | ||
205 | encoded JPEG file, depending on JFIF version check | ||
206 | and corresponding warning/error configuration. | ||
207 | In case of a granted decompression the old decoder | ||
208 | will display the image with half saturated colors. | ||
209 | |||
178 | -dct int Use integer DCT method (default). | 210 | -dct int Use integer DCT method (default). |
179 | -dct fast Use fast integer DCT (less accurate). | 211 | -dct fast Use fast integer DCT (less accurate). |
180 | -dct float Use floating-point DCT method. | 212 | -dct float Use floating-point DCT method. |
@@ -374,7 +406,8 @@ quality settings to make very small JPEG files; the percentage improvement | |||
374 | is often a lot more than it is on larger files. (At present, -optimize | 406 | is often a lot more than it is on larger files. (At present, -optimize |
375 | mode is always selected when generating progressive JPEG files.) | 407 | mode is always selected when generating progressive JPEG files.) |
376 | 408 | ||
377 | GIF input files are no longer supported, to avoid the Unisys LZW patent. | 409 | GIF input files are no longer supported, to avoid the Unisys LZW patent |
410 | (now expired). | ||
378 | (Conversion of GIF files to JPEG is usually a bad idea anyway.) | 411 | (Conversion of GIF files to JPEG is usually a bad idea anyway.) |
379 | 412 | ||
380 | 413 | ||
@@ -402,8 +435,9 @@ it may run out of memory even with -maxmemory 0. In that case you can still | |||
402 | decompress, with some loss of image quality, by specifying -onepass for | 435 | decompress, with some loss of image quality, by specifying -onepass for |
403 | one-pass quantization. | 436 | one-pass quantization. |
404 | 437 | ||
405 | To avoid the Unisys LZW patent, djpeg produces uncompressed GIF files. These | 438 | To avoid the Unisys LZW patent (now expired), djpeg produces uncompressed GIF |
406 | are larger than they should be, but are readable by standard GIF decoders. | 439 | files. These are larger than they should be, but are readable by standard GIF |
440 | decoders. | ||
407 | 441 | ||
408 | 442 | ||
409 | HINTS FOR BOTH PROGRAMS | 443 | HINTS FOR BOTH PROGRAMS |
@@ -520,14 +554,20 @@ image region but losslessly preserves what is inside. Like the rotate and | |||
520 | flip transforms, lossless crop is restricted by the current JPEG format: the | 554 | flip transforms, lossless crop is restricted by the current JPEG format: the |
521 | upper left corner of the selected region must fall on an iMCU boundary. If | 555 | upper left corner of the selected region must fall on an iMCU boundary. If |
522 | this does not hold for the given crop parameters, we silently move the upper | 556 | this does not hold for the given crop parameters, we silently move the upper |
523 | left corner up and/or left to make it so, simultaneously increasing the region | 557 | left corner up and/or left to make it so, simultaneously increasing the |
524 | dimensions to keep the lower right crop corner unchanged. (Thus, the output | 558 | region dimensions to keep the lower right crop corner unchanged. (Thus, the |
525 | image covers at least the requested region, but may cover more.) | 559 | output image covers at least the requested region, but may cover more.) |
560 | The adjustment of the region dimensions may be optionally disabled. | ||
526 | 561 | ||
527 | The image can be losslessly cropped by giving the switch: | 562 | The image can be losslessly cropped by giving the switch: |
528 | -crop WxH+X+Y Crop to a rectangular subarea of width W, height H | 563 | -crop WxH+X+Y Crop to a rectangular subarea of width W, height H |
529 | starting at point X,Y. | 564 | starting at point X,Y. |
530 | 565 | ||
566 | A complementary lossless-wipe option is provided to discard (gray out) data | ||
567 | inside a given image region while losslessly preserving what is outside: | ||
568 | -wipe WxH+X+Y Wipe (gray out) a rectangular subarea of | ||
569 | width W, height H starting at point X,Y. | ||
570 | |||
531 | Other not-strictly-lossless transformation switches are: | 571 | Other not-strictly-lossless transformation switches are: |
532 | 572 | ||
533 | -grayscale Force grayscale output. | 573 | -grayscale Force grayscale output. |